Re: [心得] 反思程式革命的瘋狂。

看板Soft_Job作者 (累人啊....)時間8年前 (2016/05/10 21:27), 編輯推噓17(17038)
留言55則, 22人參與, 最新討論串3/4 (看更多)
※ 引述《NDark (溺於黑暗)》之銘言: : 的原因避開了管理及工程的檢驗。其中的一些甚至應該燒掉,埋葬,用巨石鎮壓,然後把 : 這個警告刻在石頭上:天真地過分簡化管理,... : Agile became a brand-name, with marketing hype. It therefore became subject : to the rules of all such hyped products.... : 敏捷已經變質為一個招牌,還是一種行銷的炒作。它只是波潮流所推送的產品中的品項。 這段文章還好啦(沒看本文,只看節錄) 主要不就是理想和現實間的差距嗎 理想,也就是敏捷開發,這個idea很好,也有很多書在提倡 可以參考這本書 http://goo.gl/zYTckv 書的後面提供了一個失敗和成功的例子 就像信仰一樣,大家都希望人心向善,世界大同,但是理想和現實總是很差距 有很多要妥協的 敏捷開發很好,重構很好,可是schedule很趕 沒時間好好思考,copy paste功能弄出來再說,先求有再求好 design pattern很好,但是沒事用繼承這種高超手法幹麼,明明有比較簡單的作法 (我有聽過前同事這樣講....) 寫測試程式很好,但是schedule很趕,先求有再求好 總之就是先求有再求好了,不過事後通常不是因為懶或是code太難懂 反正也不會出錯,就先放著,累積久了就變爛code了,相信大家都有經驗 理想很好,但是沒考慮到實務上的狀況 有改動就有風險,跑好好的地方為什麼要改,一定會有人這樣想 更何況,要量化出怎樣才叫好的開發是很困難的 敏捷開發很好,但是你要如何拿出數據說服別人?? 舉一個我個人的想法(不過也只是單方面的看法XD) 我覺得姑且不論任何寫作方式,只要能作到三個大方向,大致上code不會爛到哪裡去 1.命名精確,不要出現a1,a2等等的名稱 2.每個函式控制在200~250行內 3.括號的層數控制在三層內 e.g if { for { if { } } } 我覺得這很基本,離敏捷開發也還談不上,但實務上要完整實現就不知道要等多久了 so~實務離理想還太遠了,一步一步來嘛,你要求一步到位下場就是沒人認同 呼應一下這句,敏捷已經變質為一個招牌,還是一種行銷的炒作。 至少面試拿來嘴砲是很有用的 同樣的道理,"當責"這名詞不也一樣嗎,觀點很好 但想要一步到位,科科,當你去死~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.224.41.15 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1462886850.A.6D1.html

05/10 21:30, , 1F
函式200行? 你是認真的嗎?
05/10 21:30, 1F

05/10 21:32, , 2F
20行其實就很多了
05/10 21:32, 2F

05/10 21:34, , 3F
200行的code一定有辦法再拆函式出去 除非你寫組語XD
05/10 21:34, 3F

05/10 21:35, , 4F
有可能行業別的關係吧,我常看到動輒1~2000的函式...
05/10 21:35, 4F

05/10 21:36, , 5F
再拆當然還可以阿,但是...我覺得還是一步一步來會比較好
05/10 21:36, 5F

05/10 21:39, , 6F
說design patterns是搞繼承的那位 根本是不懂裝懂XDDD
05/10 21:39, 6F

05/10 21:42, , 7F
200行的函式是什麼巫術.......
05/10 21:42, 7F

05/10 21:42, , 8F
2000
05/10 21:42, 8F

05/10 21:44, , 9F
我覺得design pattern是教你如何善用繼承和聚集的特性
05/10 21:44, 9F

05/10 21:44, , 10F
前同事的說法某種程度也不能說是錯
05/10 21:44, 10F

05/10 21:49, , 11F
Class 200 行還比較可以理解...函式 200 行是怎樣
05/10 21:49, 11F

05/10 21:55, , 12F
突然想起交大某教授聊天時提到曾接手過印度人寫的13層i
05/10 21:55, 12F

05/10 21:55, , 13F
f波動砲 仔細想想200行好像也還算能接受的範圍(遠目)
05/10 21:55, 13F

05/10 21:56, , 14F
個人的括號層數可以忍受到六層 畢竟還要try-catch
05/10 21:56, 14F

05/10 21:56, , 15F
我無法接收一個function超過200行。。這種一定都是可以再
05/10 21:56, 15F

05/10 21:56, , 16F
拆解的。。
05/10 21:56, 16F

05/10 21:59, , 17F
沒有重複code的情況下 單函式3000行我可以
05/10 21:59, 17F

05/10 21:59, , 18F
2跟3應該存在弱關聯...像3F說的那樣處理,
05/10 21:59, 18F

05/10 22:00, , 19F
再加上guard clause觀念去檢視 ifelse flow
05/10 22:00, 19F

05/10 22:02, , 20F
巢狀層次可以有效約束。
05/10 22:02, 20F

05/10 22:10, , 21F
200是我認為不搭配輔助方式(畫圖,下斷點,etc)仍然能容易
05/10 22:10, 21F

05/10 22:10, , 22F
理解的範圍,不過看大家反應似乎還是很難接受XD
05/10 22:10, 22F

05/10 22:26, , 23F
我看過不少破500 還有幾個破千的...該說幸運嗎 Orz
05/10 22:26, 23F

05/10 22:30, , 24F
拿過一個因為行數太多一支檔案放不下只好寫成兩支的Y
05/10 22:30, 24F

05/10 22:45, , 25F
新手的看法,所有的'好'設計,都是為了分離(解耦)
05/10 22:45, 25F

05/10 23:12, , 26F
設計模式原則是聚合優先於繼承
05/10 23:12, 26F

05/10 23:42, , 27F
200行當上限我可以接受 當下限我實在不行 XD
05/10 23:42, 27F

05/10 23:44, , 28F
是控制在0~(200至多250)行內 還是控在200~250行內啊?
05/10 23:44, 28F

05/10 23:49, , 29F
一個function兩千行通常看到都是那種Thread function
05/10 23:49, 29F

05/10 23:49, , 30F
裡面switch case 到欲罷不能那種..,每個case又不太大
05/10 23:49, 30F

05/11 07:08, , 31F
一直跟schedule妥協只會讓不懂管理的人爽到 以為只要押schedu
05/11 07:08, 31F

05/11 07:09, , 32F
le事情就做得出來 結果就是愈做愈爛 我的話都一定會討論一下
05/11 07:09, 32F

05/11 07:10, , 33F
反正我很努力了 如果趕不出來一定是schedule的問題(?
05/11 07:10, 33F

05/11 08:49, , 34F
高論!!什麼才是懂管理的人呢?
05/11 08:49, 34F

05/11 09:01, , 35F
schedule很重要阿,一定要以它為主,不過如果常常都不合理
05/11 09:01, 35F

05/11 09:02, , 36F
就該換間啦,在那撐幹麼?
05/11 09:02, 36F

05/11 09:17, , 37F
這裡好像沒見過什麼世面齁 前公司單函超過1000的滿地都是
05/11 09:17, 37F

05/11 09:17, , 38F
不過這種世面 不見也罷 QQ
05/11 09:17, 38F

05/11 09:24, , 39F
通常不是要一次到位 只是想要為將來保留修改空間
05/11 09:24, 39F

05/11 16:23, , 40F
哦哦哦,都是沒看書的人。主席說10行就夠多的了。還
05/11 16:23, 40F

05/11 16:24, , 41F
200呢。打到死就是一個function 20行。沒聽主席講的。
05/11 16:24, 41F

05/11 16:52, , 42F
這種問題我都是這樣解決,再多行再多層也不怕
05/11 16:52, 42F

05/11 16:53, , 43F
05/11 16:53, 43F

05/11 17:55, , 44F
看作品看賺的錢才是重點 不幸的,跨國大公司都重視軟工
05/11 17:55, 44F

05/11 17:58, , 45F
程式寫難維護難懂 太長無法除錯 所以才有軟工一說
05/11 17:58, 45F

05/11 20:18, , 46F
哪幾家大公司重視軟工啊?
05/11 20:18, 46F

05/11 22:02, , 47F
200行還好吧? 一堆open source的函式恐怕都不止這個數.
05/11 22:02, 47F

05/12 02:12, , 48F
有空去看看google Facebook apache 等公司的程式碼
05/12 02:12, 48F

05/12 02:14, , 49F
ptt打筆仗很簡單 不如省下來去學習強者寫程式 多賺錢
05/12 02:14, 49F

05/12 02:16, , 50F
難怪國外都上太空台灣還在殺豬公 連大陸都屌打我們
05/12 02:16, 50F

05/12 02:18, , 51F
說到這個 有沒有聽過ibm yahoo 程式和技術也去看看吧
05/12 02:18, 51F

05/12 05:54, , 52F
我有維護過單檔上萬行的 PHP………
05/12 05:54, 52F

05/12 07:48, , 53F
典型見樹不見林,整天強者掛嘴邊。他們有多重視軟工?
05/12 07:48, 53F

05/12 07:50, , 54F
@typepeter期待你的講解
05/12 07:50, 54F

05/12 08:50, , 55F
csfgsj 不就是IBM的,你可以去問他
05/12 08:50, 55F
文章代碼(AID): #1NCU72RH (Soft_Job)
文章代碼(AID): #1NCU72RH (Soft_Job)