Re: [討論] 因為空格~我離開了一間公司

看板Soft_Job作者 (張昱珩)時間11年前 (2014/09/14 17:39), 11年前編輯推噓0(004)
留言4則, 3人參與, 最新討論串18/21 (看更多)
公司的 coding style 可以很俗,但若有標準可循也就沒什麼好說的了。 原 po 自己也說, Apache 的 code 看起來就像一個人寫的 (雖然 Apache 是一個組織,旗下有一堆 project 包括 OpenOffice)。 雖然我也認為應該採用 guard, 但公司透過規定你的 coding style 來達成這個條件也無可厚非。 當你不是 projet owner 的時候,就只能 follow 別人定的規則,遵守 convention 。 每個人都有自己的想法,加上軟體的學問常常翻新,更別說還有各門各派, 所以改變別人想法、期待別人「進步」 (進步與否是主觀的) 不能根本地解決你的問題。 之前公司因為每位工程師身上都各自背案子, 但工程師間對於 code 的要求差異很大, 我索性把 codebase clone 好幾份放在 host, 每位工程師都是自己負責的案子的 project owner, 仍然保留了除了他和他認可的人以外,上 code 都要經過 review 這個機制, 但是每個 project 的 reviewer 不同, 而且定標準的自由可以留給各個 project owner。 彼此依舊可以看到別人的 project 有上什麼 commit,不妨礙交流。 因此,我們雖然可能同是做 AOSP 的 project, 但負責不同 case 或用在不同 device 上, 就是不同的 project, codebase 是分開的, host 上因此有上千個 repo。 雖然會有浪費 host 空間的缺點, 但是這樣更有像 GitHub 一樣 social coding 的感覺, 也可以做到封裝的概念,大家都管好自己的 project 就好, 要是去管別人的 project 的 coding style,那就是撈過界。 ※ 引述《guest2008 (guest)》之銘言: : 這個我看起來 A 跟 B 根本沒什麼不同,但 B 確實比較糟糕。 : 因為都是 X條件觸發,處理 X條件,再繼續往下做。 : 但你是 X不成立,就返回。這個 !X 不是好方法,實際上對系統架構沒幫助。 : 你要讓系統結構很維護,避免那麼多{}層出現, : 框到到底那個 } 是對應那個 { 都不知道了,應該這樣寫: : if( : fun_A() == true : && fun_B == true : && fun_C == true : && ....... : ) : { : 做某件事 : } 我所知的語言,function 的 return 值可以滿足 condition 就不會再做多餘的比較。 例如 if (funcA()) 不會寫成 if (funcA() == true) 就算是要正規化也會這樣寫 (但沒賦值給變數也不需要) if (!!funcA()) : function fun_A() : { : if(....) return(false); : return(true); : } return 是 statement,後面接的括弧是給 expression 用的。 但是 (true) 不就是 true 嗎? : 下略,自己補上 fun_B()..fun_C()。 : 這樣寫有啥好處?? : (1) 最大好處就是太多層後,真的不知道那個 } 是對應那個 { : 也就是你一直在數空格數到底空對了嗎? : (2) 除錯超快,注意我是直接每個判別直接寫一行, : 你寫的落落長後,除非你是天下奇杷,腦袋超清楚, : 要不然肯定會錯啦~~這個地方我除錯的速度絕對比你快。 : 我直接一行一行 // && fun_C() == true : 就找出問題了。 : 甚至未來你某個條件不想再用就像上面一樣 mark 掉就好了。 : 以上給參考,你自己去評估三種寫法哪種最好。 : 另外如果有人又要出來跟我戰他要用 class 寫法最好, : 還是說這個寫法糟透了,那是他家的事,我不出來應戰。 : 我只是恰好路過,出來建議一下而已。 -- http://changyuheng.github.io/ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.141.116.107 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1410687579.A.012.html

09/14 18:29, , 1F
我常接觸的語言有兩個特色1.function/method的回傳值,不
09/14 18:29, 1F

09/14 18:51, , 2F
我覺得==true比較好閱讀耶
09/14 18:51, 2F

09/14 18:51, , 3F
用return有時不直覺return什麼
09/14 18:51, 3F
※ 編輯: changyuheng (220.141.116.107), 09/14/2014 19:54:31

09/14 19:37, , 4F
因為回傳bool的func多半取名is開頭 加==有點畫蛇添足
09/14 19:37, 4F
文章代碼(AID): #1K5M9R0I (Soft_Job)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 18 之 21 篇):
文章代碼(AID): #1K5M9R0I (Soft_Job)