天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

品質來自對細節的講究

  品質來自對細節的講究”是我一直以來的信念,對于軟件開發上的種種細節我都不放過,盡量不讓自己處于模糊地帶,這樣才能在下次遇到相同或類似問題時得以迅速理解并解決,除了可以縮短處理問題的時間外,最重要的是可以提升軟件質量,以及在撰寫程序初期能就避免細節中潛藏的瑕疵。

  我目前在公司里最主要的工作是帶領一群軟件工程師開發軟件項目,時常帶大家一起寫 Code、看 Code,有時間的時候還會替他們做 Code Review 并點出一些程序撰寫的問題或提供更好的寫法,對他們的要求不曾少過。

  曾經有位工程師問我:「保哥,我以前都一直認為寫程序不就是 "解決問題" 而已嗎?而且以前的主管也從來不會問我為什么要這么寫或哪里寫不好要改,為什么你還要花時間看我們寫的 Code,有時還會要求我們將寫好沒問題的 Code 進行重構(Refactoring)或整個打掉重練?」

  我回答他:「我們是個軟件團隊,每個人都需要自律,并且負起一位工程師應付的責任,每個人的技術知識都應該不斷精進,你不應該滿足于 "解決問題" 這個層級,而應該進而 "理解原理" 與 "探究細節",從這個角度出發所寫的東西不但有成就感,也更踏實。」

  我還說:「我們彼此都應能互相支持,任何時刻都可以輕易的接起另一位工程師寫的程序并讓軟件繼續發展下去,沒有怨言,只要架構清楚、程序代碼撰寫習慣一致就比較不會有問題。像我們公司有些四、五年前做的項目到現在還在維護,如果當初沒要求程序寫法,我想現在維護起來一定非常辛苦,想想你過兩年后如何維護你現在寫的程序吧。」

  我是個熱愛程序設計的人,對我來說寫程序很有趣、很有新鮮感,但有趣的地方絕不止于 "解決問題" 而已,我曾經也這么想過,但后來我理解到,問題總會有解決的一天,但當同樣的問題不斷出現時,你會知道問題可以解決,但慢慢的你就會失去新鮮感、失去成就感,寫程序就會變成例行公事,就不好玩了。

  軟件不像建筑工程般做不好會危及人的性命,我們不見得需要先規劃好所有細部藍圖才開始施工,我們只要有個架構、了解大致的需求就可以開始動工了,做錯了就是 "改",責無旁貸的"改",寫軟件一定要預留 "修改" 的空間,這就是我盡力要求 "可維護性" 的關系。我們公司一年可以接數十件大大小小的軟件項目,如果每個項目都只能由開發的人來維護,那人力配置一定會極度不平衡,相對的軟件質量遲早出問題。

  再者,你應該也知道客戶講的東西經常 "昨是今非",越大的項目越是這樣,連簽了名的文件都還能不算數,對于一些小范圍的更動對軟件來說本來就應該是合理的,但我看到有些朋友對于客戶修改規格的舉動經常忿忿不平,還有一些經常接項目的外包人員來說,也經常在為一些很小幅度的規格變更堅持己見,但是光花在不愿意修改所溝通的時間,我想軟件早就不知道修完幾遍了,一切都出在對軟件項目錯誤的認知,或是自己的寫的軟件不容易修改所做出的 "合理反應"。

  客戶心情好或是內心極度愧對我們時,有時還會好心的主動提出愿意付錢請我們修改程序,我們為了繼續經營客戶,這種項目當然要繼續接下去。所以無論如何只要是我們開發出來的軟件,一定要盡量預留軟件修改的空間,以免每個客戶都只做一次生意,那很累。若是客戶不要求,且項目真的確定完成后需求不可能會變更情況下,那也真的沒什么好要求的了。

  隆重聲明一下,我當然不可能認同客戶狂亂的規格變更,凡事總有個界線在,我只是想強調做軟件項目應該與客戶站在同一陣線,以客戶滿意度為依歸。但若遇到超級沒 sense 又很愛凹你做東做西且打死不追加預算的客戶時,你可以有兩個選擇:(1) 直接退錢說不做了 (2) 硬著頭皮改到底。

  我幾年前曾經花了幾萬塊去上超強記憶力的課程,印象最深的只有一句話:「人的 "記憶" 幾乎是無限的,人之所以會忘記是因為 "回憶" 的方式有問題。」

  技術的細節如此的多,有人會問我:「我怎么可能把所有細節都記得,有需要再查 Google 就有了啊。」首先,Google 查到的東西不見得是對的,你不了解細節自然也無法判斷對錯。當然,我也不例外,我會忘事情,技術細節也會忘,但那不是忘記,只是回憶不起而已,有些知識被消化了,已經進入潛意識,寫程序時你會很自然的會將你曾經學過、認真研究過的東西都給用上,只是你不知道而已。

  若真的要回憶起舊時記憶的最佳方式,就是不斷的在腦中建立索引!像我自己寫博客文章,腦子里記得的只有關鍵詞而已,這些關鍵詞就是我的索引數據,因為都是自己寫的東西,關鍵詞自己最清楚,所以我隨時可以找到想要找的數據,找不到才會去翻 Google 的數據。

  我前幾天就有個有趣的經歷,我在看別人寫的程序,他寫的數據統計程序一直有數據不正確的情況,我看了好幾個小時竟看不出問題所在,最后無意間發現原來他寫的類定義了一堆類層級(Class)的字段變量(Field),并且共享于多個方法,他以為這些變量只要宣告一遍然后所有方法(Method)都可以直接使用很方便,卻完全沒有想到這會造成極大的副作用(Side Effect)。我最早一開始寫程序時很喜歡使用「全域變量」,當時是我在寫 Perl、php 的時代,但就因為吃過很多 Debug 的虧,老早就不用這種開發技巧了,但在看別人的 Code 時卻不會直覺的想到,只有自己寫 Code 時才會避開這個問題,而這就是對技術細節內化的最佳證據。

  有一句話說得很好:「時間花在哪里,成就就在哪里」想要做好軟件工程師的角色,就應該多花時間專研技術細節,這并非是一條不歸路,做軟件的人,不滿意隨時可以轉換跑道,但你走這條路的時候不認真就是浪費時間,你只要有付出努力就一定會獲得有價值的東西,畢竟寫程序是腦內革命,不是每個人都走的下去的,但要長期走下去就必須要有源源不絕的熱情、對新知的無限渴望與用不完的新鮮感。

it知識庫品質來自對細節的講究,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 精品国产在线手机在线 | 久久香蕉国产线看观看精品 | 成人影片迅雷下载 | 日韩精品无码久久一区二区三 | 色欲狠狠躁天天躁无码中文字幕 | 久操久操久操 | 国产午夜a理论毛片在线影院 | 91精品免费久久久久久久久 | 亚洲 欧美 另类 中文 在线 | 久久88综合 | 久久国产热视频99rev6 | 国产亚洲精品AV片在线观看播放 | 精品国产成人AV在线看 | 欧美精品高潮呻吟AV久久 | 国产在线观看www鲁啊鲁免费 | 文中字幕一区二区三区视频播放 | 蜜臀AV精品久久无码99 | 野花香在线观看免费观看大全动漫 | 东京热 百度影音 | 久久国产精品高清一区二区三区 | 天堂tv免费tv在线tv香蕉 | 久久久久久极精品久久久 | 女教师二十三歳 | 超碰caopro熟女m超碰分类 | 久久成人国产精品一区二区 | 日韩在线视频www色 日韩在线看片中文字幕不卡 | 男人J桶进男人屁股过程 | 色偷偷7777www | 老阿姨才是最有味的一区二区 | 亚洲欧美在无码片一区二区 | japansemature护士 JAPANRCEP老熟妇乱子伦视频 | www国产av偷拍在线播放 | 抽插内射高潮呻吟V杜V | 国产精品久久久久久久久LI无码 | 亚洲欭美日韩颜射在线二 | 美女内射少妇三区五区 | 色欲人妻无码AV精品一区二区 | 夜夜女人国产香蕉久久精品 | 久久综合色悠悠 | 日本不卡一二三 | 久久婷婷五月综合色丁香 |