看板 Python 關於我們 聯絡資訊
標題下得不太精確,因為我也不確定這是否屬於結構或其他方面的問題,還麻煩指點 各位年薪千萬的工程師大大們好,小弟工作經歷4年的菜鳥工程師 小弟從大概高中就在接小案子,到目前出社會四年,摸程式時間還算久 從以前武器抄了就上(程式碼隨便塞隨便寫能動就好XD)到目前知道戰略的重要性 目前程度就是在大部分可以Google、Stackoverflow完成的複製貼上工程師等級 手刻簡易的NN,用一些開源像是keras、tf去獨立完成專案、規劃簡易LB的這個階段 大致上關於程式的基本都還算過得去,但最近忽然有一種無力感與迷惘(撞牆期?) 主要問題像是: 開一個專案,到底整個程式的結構怎麼設計才可以讓這整個專案方便維護、易於擴充? 舉個例子,像是我想要開一個flask Restful購物網站後端,進入點是server.py 這個server.py就是包含所有flask、Request、Response操作等等 然後寫了很多module包含各種購物車的操作、會員登入登出等等 我目前的做法通常是server.py->middleware.py 再由middleware.py去import每個module執行,但似乎仍然會有一些問題 像是如果有config檔紀錄db位置、flask的參數 這種時候我就會變得不知道該怎麼做比較好 從flask讀取config,再將config資料傳入middleware再傳入給各自的module嗎? 還是每個module各自去讀取config比較好? 我知道這個例子很爛,但是應該可以理解就是關於這種比較偏"結構"而非功能的問題 我常常因為這種問題一直思考卻沒有答案 通常要到真的遇到某些狀況時才會發現「啊!要是當初這樣設計就好了!」 也試著去看各種開源的程式碼,但遇到新的問題時又會卡在那不知道怎麼樣做比較好 想找書,又不知道從哪個方面著手 請問各位大大,關於這種問題到底有沒有一套心法、方向或是書籍可以參考呢? 另外偷渡一些其他小雜問 像是研究別人開源的程式和研究該程式原理大家都怎麼分配時間? 以及如何決定是否要針對這個功能鑽研下去?像是NN或是Viterbi這些東西 看很多文章說好的工程師要會原理 但大多時候研究其他人的開源怎麼使用,就已花費不少時間 如果自己真正去刻,到實際工作上能使用也必須要投入大量的時間看公式、修正、最佳化 很常遇到看完paper、研究完,刻到一半後,就已經有人開源了,還寫得比自己好... 就會覺得「啊...我又浪費了三個月..」覺得非常心灰意冷.. 以上,還麻煩各位大大給一些建言,謝謝! -- 溫拿有數位女友 魯蛇有數位女友 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.171.166.25 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1518580408.A.D26.html ※ 編輯: woogee (1.171.166.25), 02/14/2018 11:55:15
WunoW: 因為你只有一個人,當然慢別人好幾步,除非你神人等級 02/14 13:36
WunoW: 相同的概念同時期在世界上也不會只有一個 02/14 13:38
WunoW: 你能想到別人也能想到啊,你就知道得諾貝爾獎有多不容易 XD 02/14 13:40
WunoW: "這東西全世界只有我發現"的機率是零 02/14 13:40
froce: 我會說,像這種比較大的案子請用 Django,至少管理和結構 02/15 00:56
froce: 很制式,不用多費多少心力去搞架構。 02/15 00:56
froce: 用 flask 不是不可以,但是大案子你要整理起來,就必須發展 02/15 00:58
froce: 出自己一套邏輯。 02/15 00:58
froce: 然後多去看一些設計風格的書,像函數式編程我只學了點皮毛 02/15 00:59
froce: ,但我覺得收穫很大。 02/15 00:59
froce: 會原理和用別人套件是不衝突的,請問你會寫 http server 你 02/15 01:01
froce: 就一定要用自己刻的嗎? 02/15 01:01
froce: 套件管理這麼方便就是鼓勵你不要重複造車輪,但是你不知道 02/15 01:02
froce: 原理,你那知道車輪要用在哪裡? 02/15 01:02
ar54971: https://goo.gl/2WCUGr 03/06 03:41
galeondx: https://goo.gl/cybm9m 03/06 04:19
galeondx: https://goo.gl/MKaCK6 03/06 04:31
galeondx: https://tinyurl.com/yadsk3lo 03/06 04:44