• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            coreBugZJ

            此 blog 已棄。

            關(guān)于編程,大學(xué)沒有傳授的10件事 (轉(zhuǎn))


            我依然記得當(dāng)我完成學(xué)業(yè)時,我是多么的天真。那時我深信自己已經(jīng)準(zhǔn)備好進(jìn)入任何一家軟件公司,并開始成為一個頂級的開發(fā)人員。顯然,開始工作后沒多久我就意識到,還有很多事是我所不了解的。

              在不斷吸取經(jīng)驗的同時,我一直在努力學(xué)習(xí)那些我從來沒有學(xué)過的,但卻是成為優(yōu)秀的開發(fā)人員所應(yīng)了解的基本知識。以下是我希望自己能在學(xué)校就學(xué)到的10件事。



              0. 我們總是錯的

              開發(fā)人員有著相當(dāng)大的自我意識,包含了一些其他的非技術(shù)性缺陷,這也正是為什么我們很難發(fā)現(xiàn)我們做錯了什么。我看到過很多無休止的設(shè)計討論,開發(fā)人員不斷地發(fā)表自己的想法……呵呵!猜猜怎樣……我們都錯了,唯一的區(qū)別就是我們犯錯的離譜程度不同。

              理解并接受這個事實非常重要,我們只有這樣做了,才能敞開心胸去聽聽別人的意見,采用他們的想法,來得出一個更好的解決辦法。



              1. 事情若有可能出錯,就一定會出錯

              也就是說“希望驅(qū)動開發(fā)(hope driven development)”,如果你對于某些事并不確定,如果你發(fā)現(xiàn)自己使用了“應(yīng)該”這個詞,那你就麻煩了。

              而這只有一個解決方案,盡己所能去保證它不會出錯,這可能意味著你需要編寫一個測試、調(diào)試并驗證需求……



              2. 所有的代碼都爛

              在我抱怨那些我碰到過的代碼十年之久后,我得出了一個精辟的結(jié)論,所有的(包括我自己寫的)代碼,都爛。當(dāng)然,爛還是有等級之分的,但即便是我見過寫得最好的代碼,也是難以讀懂的。

              這并不意味著把你的代碼寫得更好是沒有意義的,恰恰相反,最好和最壞的代碼還是有天壤之別的。



              3. 錯誤(Bug)總會存在

              永遠(yuǎn)存在!問題只在于要發(fā)現(xiàn)它困難與否。



              4. 客戶最大

              許多客戶并不在乎你在方案中使用了哪些技術(shù),應(yīng)用程序需不需要做更多的事……或通俗上說,你是否使用了好的實踐方案。

              也因為我可以想象,要是我只說了前面那一段,我會收到多少惡評,讓我說得更清楚些……我想說的是,我們永遠(yuǎn)不應(yīng)該忘記客戶的立場,有時候,開發(fā)人員為了最佳實踐而在項目工程中過度堅持采用(某些)技術(shù),但要記住,若這些技術(shù)無法給客戶帶來價值,那就放棄吧!(編注:關(guān)于客戶,作者Alberto在其前幾篇文章《我的10個開發(fā)原則》和《程序員常犯的5個非技術(shù)性錯誤》都有提到,可見他對這一點的體會。)



              5. 紙上談兵是行不通的

              我曾認(rèn)為,我可以在前期就把我的整個設(shè)計置于紙上,然后只要將缺漏處填上就好,但這樣根本行不通。

              軟件開發(fā)是復(fù)雜的,若不親手去碰碰看,很難看到所有的實際層面以及它們之間的關(guān)系。因此,在前期保持規(guī)劃與設(shè)計是很有用的,但不要過度堅持,也不要把設(shè)計圖表當(dāng)作合約固守。



              6. 少即是多

              或者,你可能知道更好的說法是:“Keep it simple, stupid!”(保持簡單,KISS設(shè)計原則)。所以,如果沒有必要的就舍棄吧!因為要記住:“事情若有可能出錯,就一定會出錯。”(編注:除了KISS原則之外,此文還介紹了其他一些軟件設(shè)計原則。)



              7. 編寫代碼只是我們所做工作的20%而已

              請準(zhǔn)備好,花80%的時間用于思考、調(diào)試、測試、開會、談話……而所有的其他活動都是非常重要的,所以若要成為一個優(yōu)秀的軟件開發(fā)人員,你必須培養(yǎng)廣泛而全面的技巧(Skill),而不僅僅是技術(shù)(Technical)。



              8. 客戶永遠(yuǎn)不知道他/她想要的是什么!

              客戶若有需求,或是想法,但是他們不知道詳細(xì)情況……軟件開發(fā)要做的工作就是,發(fā)現(xiàn)細(xì)節(jié)并去除所有的不確定性,將這些需求轉(zhuǎn)換成客戶想要一個應(yīng)用程序。



              9. 已經(jīng)有人做過了

              所以不要再重新發(fā)明輪子,用谷歌找找看,或者更好的方法是,請教你的同事,很多時候他們可能都已經(jīng)做了相同、或非常類似的事情。

            posted on 2011-08-13 20:19 coreBugZJ 閱讀(345) 評論(0)  編輯 收藏 引用 所屬分類: Software

            久久精品国产第一区二区| 一本色道久久综合狠狠躁篇| 性欧美丰满熟妇XXXX性久久久| 超级97碰碰碰碰久久久久最新| 久久亚洲国产成人精品性色| 久久国产精品无码一区二区三区 | 精品久久综合1区2区3区激情 | 亚洲精品高清国产一线久久| 亚洲精品乱码久久久久久蜜桃不卡 | 欧美亚洲另类久久综合| 久久精品国产亚洲Aⅴ蜜臀色欲| 久久久这里有精品| 久久久久久久尹人综合网亚洲 | 久久综合狠狠综合久久综合88| 久久国产精品国产自线拍免费| 欧美久久天天综合香蕉伊| 国产婷婷成人久久Av免费高清| 免费精品久久久久久中文字幕| 久久久久亚洲av无码专区| 亚洲人成电影网站久久| 国产精品99久久久久久宅男| 久久人人爽爽爽人久久久| 久久人妻无码中文字幕| 色婷婷久久综合中文久久一本| 久久免费美女视频| 国产精品久久久久影院色| 国内精品九九久久精品| 天天影视色香欲综合久久| 91精品国产91久久久久久蜜臀| 久久亚洲精品中文字幕| 久久亚洲AV成人无码| 尹人香蕉久久99天天拍| 日日狠狠久久偷偷色综合0| 曰曰摸天天摸人人看久久久| 久久久久久综合一区中文字幕| 久久精品国产亚洲av麻豆小说| 99精品国产99久久久久久97| 国产精品久久久久久久久软件| 久久婷婷午色综合夜啪| 久久久国产打桩机| 亚洲狠狠婷婷综合久久久久 |