新聞中心
在高科技行業(yè)中,我聽過很多偉大的開發(fā)人員聲稱對(duì)設(shè)計(jì)一無所知。他們將設(shè)計(jì)當(dāng)作是一個(gè)神秘的世界,一個(gè)編程世界之外的世界。他們覺得他們永遠(yuǎn)無法“干”設(shè)計(jì)的工作,因?yàn)樗麄兏緵]有關(guān)于這方面與生俱來的能力。

成都創(chuàng)新互聯(lián)10多年企業(yè)網(wǎng)站設(shè)計(jì)服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁設(shè)計(jì)及高端網(wǎng)站定制服務(wù),企業(yè)網(wǎng)站設(shè)計(jì)及推廣,對(duì)iso認(rèn)證等多個(gè)領(lǐng)域擁有多年的網(wǎng)站運(yùn)維經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。
但是請(qǐng)恕我不敢茍同。好的編程也是不錯(cuò)的設(shè)計(jì)。因?yàn)?,好的代碼是經(jīng)過精心設(shè)計(jì)的代碼。任何能寫出好代碼的程序員其實(shí)也是在寫經(jīng)過精心設(shè)計(jì)的代碼。定義什么是優(yōu)秀代碼的原則驚人地相似于何為優(yōu)秀設(shè)計(jì)的原則。
不信的話,請(qǐng)看Dieter Rams的Ten Principles of Good Design,不知道你發(fā)現(xiàn)了沒有,在幾乎所有情況下,你都可以用”代碼“一詞取代”設(shè)計(jì)“,用”軟件“一詞取代”產(chǎn)品“,然后你就得到了關(guān)于如何編寫好代碼的原則。
好的代碼是創(chuàng)新性的
這是顯而易見的,當(dāng)你寫代碼時(shí),你的目的是盡可能地用***的方法解決問題。
好的代碼讓軟件有用
如果你正在寫的代碼不能在軟件中發(fā)揮作用,而且也不利于其他一些有用的代碼,那么很可能這些代碼是沒有必要的,而不必要的代碼通常是不好的代碼。
好的代碼具有審美趣味
好的代碼易于閱讀,優(yōu)秀程序員知道,花時(shí)間去想一個(gè)明確的名字、分解功能、致力于代碼的可讀性是值得的。好的代碼在屏幕上會(huì)有一種美感。它總是被很好地執(zhí)行、規(guī)劃和組織。
好的代碼讓軟件更易于理解
此外,分解功能,以及選擇有意義的方法名和變量名在好代碼中是必不可少的,并且能夠表達(dá)代碼的目的,使代碼更易于理解。難于理解的代碼往往是不好的代碼。
好的代碼不唐突
好的代碼不會(huì)打擾其他代碼,會(huì)保持代碼的SOLID原則,而這對(duì)于創(chuàng)建良好的可維護(hù)代碼非常重要。當(dāng)這個(gè)方法干擾到另一個(gè)方法時(shí),它會(huì)導(dǎo)致我們很難管理代碼。方法本身應(yīng)該是獨(dú)立的,這樣才能更易于管理,更易于重用。
好的代碼言行一致
確保代碼的行為和它的名字和目的保持一致,分解這些問題在代碼中很重要。如果你的方法是一個(gè)命名函數(shù),那么它應(yīng)該只需命名即可,不需要做其他。它不應(yīng)該提供保存、更新、重命名、刪除以及其他任何凡是定義中沒有明確說明的功能。
好的代碼是持久性的
創(chuàng)建易于管理,易于維護(hù)的代碼非常重要??赡苣愕哪承┐a在10年之后依然在被使用,但如果你創(chuàng)建了一堆不好的混雜了問題的代碼,那么它們就會(huì)時(shí)不時(shí)地成為你前進(jìn)路上的攔路虎,讓你頭痛不已。
好的代碼周密詳盡
好的代碼是對(duì)問題經(jīng)過全面周詳考慮的解決方法,事無巨細(xì),面面俱到。這包括徹底測(cè)試不同的情況,使得解決方案盡可能地準(zhǔn)確有效。
好的代碼對(duì)環(huán)境友好
可能聽上去有點(diǎn)夸張,但好的代碼確實(shí)以一種不同于實(shí)物的方式做到了對(duì)環(huán)境友好。好的代碼會(huì)友好地對(duì)待軟件環(huán)境,它不會(huì)重復(fù)代碼,它會(huì)做好它應(yīng)該做的 事,并分解問題。不好的代碼會(huì)對(duì)軟件環(huán)境產(chǎn)生不良的影響,它會(huì)造成代碼污染,讓項(xiàng)目變得“丑陋不堪”(就像真正的環(huán)境污染一樣)。
好的代碼總是盡可能地精簡
好的代碼旨在創(chuàng)造優(yōu)雅的解決方案,做它應(yīng)該做的事情,不重復(fù)代碼,并且經(jīng)過很好地組織。***的項(xiàng)目膨脹是由于方法重復(fù),組織不良以及分解事物要點(diǎn)的關(guān)注點(diǎn)混雜而造成的。好的代碼會(huì)精簡化事情,簡化到核心功能,然后合并這些核心功能以建立軟件。
綜上所述,那些能寫出好代碼的程序員也是真正的設(shè)計(jì)師,他們用于創(chuàng)造解決問題***方案所遵循的原則,與作為***秀的設(shè)計(jì)師所要堅(jiān)守的原則幾乎如出一 轍。好的代碼就是經(jīng)過精心設(shè)計(jì)、精心雕琢卻又不顯唐突、持久、易于使用、易于閱讀、可管理且又有用的簡單代碼。好代碼與***UI和最美家具的生產(chǎn)方式相同,只是很多人沒有意識(shí)到而已。
譯文鏈接:http://www.codeceo.com/article/why-good-programmer-good-desinger.html
英文原文:Why Good Programmers are Good Designers
網(wǎng)站名稱:為什么優(yōu)秀的程序員也是優(yōu)秀的設(shè)計(jì)師
路徑分享:http://fisionsoft.com.cn/article/dhpiopg.html


咨詢
建站咨詢
