[討論] 尋找好的軟體框架的方法

作者: paul800526 (大蝌蚪)   2018-08-30 09:51:30
各位年薪 300 萬的大大好
最近遇到一個問題讓我很困擾
就是我常常在開發一個專案的時候
會不知道有哪些框架是適合現在的專案
可以優化整個專案架構
舉例來說
之前我有開發 facebook chatbot 的經驗
越開發到後面
if else 就越來越多
因為要常常去抓詞彙是哪種狀況
雖然這種情況很煩惱
但是我還是硬幹把他幹完了
只是看著架構越看越覺得醜
也有上 google 打關鍵字像是
"if else chatbot too many"
主要都是說怎麼簡化 Python 沒有 switch 的問題
後來和那時候不是同事的前輩討論
他就建議我用 finite state machine
我才知道這個框架可以用在 chatbot
後來回去想說如果以一個不知道這個框架的情況
要怎麼搜尋這個框架呢
我一樣 Google
chatbot architecture framework
找到的都是 AI NLP 訓練相關的文章
不知道大家在框架選擇上是怎麼搜尋和選擇的
可以幫工作不到兩年經驗的小弟解惑一下
感激不盡
作者: ian90911 (xopowo)   2018-08-30 09:59:00
chatbot這個例子 我剛接觸時跟你一樣if else硬幹...後來是去line群或者fb社團多聊多逛 聽演講看別人都怎做也有很多業界實例介紹他們怎麼處理狀態管理的文章
作者: atgcat (場外老肥貓)   2018-08-30 10:06:00
有蠻多設計模式可參考,寫起來會改成分出很多檔案,但比判斷式清楚
作者: ashlikewing   2018-08-30 10:53:00
不明白這問題為何會到框架這一層,想要消除if地獄需要改善的是程式架構。不調整這部分的話和你選擇那種框架都一樣悲劇
作者: jack0204 (Jarbar王朝)   2018-08-30 11:26:00
為啥不用DB?
作者: senjor (哞哞)   2018-08-30 11:42:00
有限狀態機其實是大學的基本學科教的然後段考還會考怎麼設計有限狀態機跟去算有限狀態轉移 Q_Q
作者: supernow (善甲狼)   2018-08-30 12:37:00
語意分析去找微軟相關大廠有出api,消if else用狀態模式去做
作者: paul800526 (大蝌蚪)   2018-08-30 12:55:00
我後來看看發現 state 是 design pattern,我錯了看起來是我功力不夠QQ
作者: senjor (哞哞)   2018-08-30 13:00:00
演算法跟其他專業的書讀法都一樣,看完一個概念最好實際寫過一次,或者想個應用,這樣會比較好吸收。
作者: ashlikewing   2018-08-30 13:00:00
你在說的東西明明就是軟體架構,混雜一些已學的東西卻沒有好好的消化理解,非常危險
作者: yamakazi (大安吳彥祖)   2018-08-30 13:12:00
深入淺出設計模式
作者: watashino (我同學數學很爛)   2018-08-30 14:06:00
FSM寫過verilog就很會用了啦
作者: handsomeLin (DoGLin)   2018-08-30 14:34:00
如果是你if else能硬幹出來的東西用DB不可能慢啦隨便講一個10萬筆數據好了 你只做read 50ms以下就能出結果了
作者: cphe (魔鬼藏在垃圾筒裡)   2018-08-30 14:58:00
DB快是因為處理資料的演算法都幫你處理好了
作者: leolarrel (真.粽子無雙)   2018-08-30 15:52:00
如果一開始還不知道用哪種架構,那可以先硬寫,只後再重構
作者: banana13 (黑暗香蕉)   2018-08-30 18:44:00
hash map
作者: AvatarH (Avatar Hsieh)   2018-08-31 17:06:00
抓哪一個字會是哪一個情形,使用trie(字典樹)來搜尋對應的動作呢?
作者: twntwn   2018-09-03 09:41:00
看open source

Links booklink

Contact Us: admin [ a t ] ucptt.com