程序員是如何看待“祖?zhèn)鞔a”的?
網(wǎng)友解答: 大家好,我從事嵌入式軟件開(kāi)發(fā)十多年,歡迎關(guān)注和交流。祖?zhèn)鞔a,這個(gè)說(shuō)法很有歷史感。姑且理解為多年以前的前輩們寫(xiě)的,還應(yīng)用在產(chǎn)品開(kāi)發(fā)中。在公司的團(tuán)隊(duì)開(kāi)發(fā)中,或多或少,都會(huì)見(jiàn)到這
大家好,我從事嵌入式軟件開(kāi)發(fā)十多年,歡迎關(guān)注和交流。
祖?zhèn)鞔a,這個(gè)說(shuō)法很有歷史感。姑且理解為多年以前的前輩們寫(xiě)的,還應(yīng)用在產(chǎn)品開(kāi)發(fā)中。在公司的團(tuán)隊(duì)開(kāi)發(fā)中,或多或少,都會(huì)見(jiàn)到這些祖?zhèn)鞔a。如果是產(chǎn)品平臺(tái)沒(méi)有更換,祖?zhèn)鞔a就司空見(jiàn)慣了。我十年前寫(xiě)的代碼,依然有在沿用,甚至還被多次遷移到不同的平臺(tái)。這些代碼有框架類,有模塊功能類,還有基礎(chǔ)函數(shù)類。
如果你是新加入團(tuán)隊(duì),又或者是未曾參與當(dāng)年的開(kāi)發(fā),那么當(dāng)你遇到祖?zhèn)鞔a時(shí),期望你能好好閱讀,理解代碼的邏輯與意義,甚至是表現(xiàn)方法。作為前輩,這些代碼是最好的教材,也是團(tuán)隊(duì)文化傳承之一。
當(dāng)然,祖?zhèn)鞔a也有一些是亂糟糟的,或者太過(guò)于精怪難以理解的,這些問(wèn)題,對(duì)于后來(lái)者來(lái)說(shuō),很難明白,很難維護(hù)。希望你有能力,有勇氣,有時(shí)間去重構(gòu)重寫(xiě)。我遇到這些低質(zhì)且混亂的祖?zhèn)鞔a時(shí),通常刪掉重來(lái)。
編寫(xiě)代碼,不僅僅是完成功能了事,更重要的是注重可擴(kuò)展性可維護(hù)性,這是程序員的基本素養(yǎng)。
謝謝大家。
網(wǎng)友解答:我說(shuō)一種造成祖?zhèn)鞔a的原因吧總結(jié)起來(lái)就是時(shí)間緊任務(wù)重,外加各種不可控的因素現(xiàn)在這個(gè)公司,純新項(xiàng)目,我做iOS,我來(lái)的時(shí)候Android已經(jīng)開(kāi)始倆月了,iOS就我一人。我老大給我的命令就是一個(gè)月以后和Android進(jìn)度一樣,我呵呵 后來(lái)商量到我可以先不管UI,就把邏輯部分追上,然后寫(xiě)好測(cè)試后來(lái)在做邏輯的時(shí)候,服務(wù)器端的API一天改三次,那還是少的然后所有的API都寫(xiě)在Google doc里,并且如果返回值變了也不更新,嘻嘻怎么發(fā)現(xiàn)的呢?明明unit test可以跑過(guò),一用真數(shù)據(jù)就crash,用post man看返回值,數(shù)據(jù)結(jié)構(gòu)跟我的測(cè)試數(shù)據(jù)完全不一樣但是我要追上Android的進(jìn)度啊,怎么辦我提莫if你一臉,我提莫寫(xiě)一個(gè)100行的if,我提莫才不管之后的人怎么維護(hù)我的代碼呢,我就不分層,我一個(gè)view controller給你寫(xiě)2000行我就問(wèn)你怕不怕?我一個(gè)方法做一百件事你信不信?單元測(cè)試?不存在了。我就等著什么時(shí)候這個(gè)上線了就辭職。