作者guest0079 (火辣辣的大姊姊)
看板Tech_Job
標題Re: [心得] 如何向別人證明自己寫的是好code?
時間Sat Nov 17 10:56:59 2007
以前認識一位40幾歲工程師他隨口說過一句話:
"要寫code很簡單 要看得懂別人的code很難"
後來自已的體會是:
自已寫code的過程時間過得很快 而看別人的code很慢、很悶、很煩
所以 你說你想跨入更高的境界 一定要試著看懂別人的爛code
俗話說:爛code三尺 非一日之寒 有好code可以寫 誰想寫爛code
你自已文中也說了 你待的公司必須要反應迅速 依客戶要求修修改改也很正常
這種情況下 就算一開始架構良好的code 隨著維護的人一代換過一代 到你手上不爛也難
有人說 寫code是一門藝術 我覺得code是一部歷史 裡面有很多歷史因素藏著前人的心酸
你知道你維護的code在兩年前發生過必須在三天內調整架講的窘境嗎
當個事後諸葛批判前人很簡單的啦
但你看得出來某段正確卻不合常理的code背後的玄機嗎
你會重構 別人就不會嗎?
你重構後的程式架講良好 bug少 別人重構架構會不好 bug會多嗎?
你重構的原因不是基於希望以後維護容易 而是 "後來逼不得已放手一搏"
有人肯為程式重構是不錯 但我看不出你這基於不得已的選擇有多值得驕傲
※ 引述《darkkiwi (....)》之銘言:
: 略
: 目前所在部門寫的是一些bundle在其他廠商device上出貨的應用軟體,
: 為了要因應客戶的要求,必須要反應迅速,這無可厚非也相當必要,
↑這幾行你自已也了解公司的型態 也覺得無可厚非
: 但久而久之有些人就養成一種只求快求有的習慣,
: 所有寫法只針對當下的問題去做特殊解,也不去探究到底是為何會引發這樣的問題,
↑雖覺無可厚非 但從這幾行開始暗示前輩短視近利 不用大腦
: 畢竟寫個if判斷式只要兩分鐘,找出問題根源卻可能要兩天,
: 修正更可能是架構上的大問題,畢竟冰凍三尺非一日之寒。
: 一堆自以為了不起的"防呆條件式",在我看來根本就是在補自己之前捅出來的簍子。
↑這幾行明明白白地說別人是白痴
: 寫出能動的程式誰都會,但寫出容易理解維護的程式卻是天大的功夫,
: 我接的程式就是來自一個我認為觀念與我天差地遠的前輩,
: 他寫的程式只有自己看得懂,變數函式名稱亂取,判斷式滿天飛。
↑這幾行就真的是前輩的不對 不過總覺得直說就不厚道了 你的code沒被review前
又怎麼知道自已程式別人就看得懂 變數函式名稱沒亂取
: 起先我以為是自己的能力實在太差,被別人質疑"為什麼你寫個程式要想這麼多?"
: 一度落到對自己完全失去自信,覺得自己這輩子大概註定是個渣。
↑可以看得出來你是新手,只是沒經驗罷了
: 後來逼不得已放手一搏,自己構思重構接手的程式,以免照這樣改下去會爛在我手上。
: …
: 不好意思 中間略過
: …
: 我該怎麼證明自己的思考方向是正確的? 證明自己寫出來的東西比別人的robust?
: 我總得在離開這間公司的時候講得出自己的價值在哪,我很想要再跨入更高的境界。
: 但老實說,我真的不知道該怎麼做比較好,難道就只能跟著一起墮落嗎?
: 出一張嘴的人很多,做得出實績的人卻很少,我不想當只剩一張嘴的人,
: but what can i do?
怎麼證明自已的程式比較robust?
bundle 在 device 的應用軟體 沒猜錯的話 應該只是安裝程式及基本的操作、查詢介面
user能使用的功能就那幾種 測試過就過了
這種程式兜得出來 寫得快比較重要 客戶只知道趕趕趕 證明給誰看
你寫的是綁device的程式 這種程式永遠也不會活得比device還久
你覺得該device能賣多久? device一代一代出 程式一次一次改
有一天客戶公司倒了 產品不見了 你的超robust程式還有什麼用
公司裡面每個人考量的點不同
你重構程式只讓自已練到功
被別人質疑也是應該的
程式再怎麼爛也都改得動
畢竟只有你一個人改不動爛程式 很難說服別人程式有重構的必要
你以為現實世界的程式都像教科書一樣漂亮嗎
想跨入更高的境界? 你能服征的了真實世界的爛程式嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.105.99.26
推 leewatch:推這篇XD 11/17 11:40
推 taroson:推 很多想說的都被你說完了 11/17 12:00
推 darkkiwi:謝謝您的指教~ 11/17 12:02
→ yangyr:覺得這篇怨氣很重:p 在公司自己練功準備跳槽有什麼不對嗎? 11/17 12:41
推 lunatich:最幹的是沒flow資料只有code..邊看還要邊猜變數意義.... 11/17 12:47
推 qui:推~~很多時後都要考量schedule,要對客戶,工廠或PM規定的 11/17 13:59
→ qui:schedule內馬上變出解決方案~一個問題解得漂不漂亮似乎跟給的 11/17 14:03
→ qui:時間多寡有很大的關係 (當然功力也有關係) 11/17 14:04
推 m06ru04:推~太不厚道 11/17 17:28
推 teslare:同意 不過小弟也是不厚道的一群XD 幹譙過超級多前輩 11/18 00:43
→ GAMRYA:最後一句是不是「..能征服得了..」呀?看不太懂是怎麼筆誤. 11/18 02:17