国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

“實現能力”與“設計能力”

2019-11-17 04:38:48
字體:
來源:轉載
供稿:網友
版權所有:Nicrosoft
文章來源:東日制作室

  我見過太多的代碼(我自己以前也是),只注重實現功能。國內絕大多數的程序員都以為實現了就成功了。在開始敲鍵盤之前,有多少人想過即將被創建的代碼會有多少的可維護性?是預備創建用完就扔的代碼,還是需要不斷升級、改進的代碼?假如是需要長期被維護、改進的代碼,在最初的時候,假如只是注重實現,而忽略整體框架的設計,那么最終等待程序員的只是無數的bug和災難。

  其實,相對來說,實現是簡單的。你能夠實現的東西都是基于平臺或者特定軟硬件環境的。你所實現的,只是因為平臺提供給了你這樣的功能而已,這個實現并不是你創造出來的。而框架的設計就需要相當的經驗。沒有人可以一開始就完成一個優秀的框架。

  在一次工作中,要為Delphi寫幾個簡單組件,組件類之間有繼續關系(很簡單,只有兩層而已)。對于這個非常微小的“框架”,在最初有了“想當然”的設計之后,就開始動手寫代碼了。完成父類層的組件后,在寫派生類的組件時,才發現當初的“設計”存在問題。那時我希奇自己當初怎么會有那么希奇的想法,構建這樣的框架。在寫到派生類組件時,才發現有些東西是那么的理所當然,而在最初設計的時侯的想法卻與之相反!于是,重新構建這些代碼,幸好,代碼量不大,即使重寫,也沒有花費多少時間。

  我想說的是,即使一個那么簡單的框架,我是在第三次重寫后,才將其確立下來。同時,獲取了寶貴的經驗。設計的難處在于,人的思維習慣是從下往上,逐步抽象的。但是,在類的框架設計中,去需要從上往下的設計,也就是逐步細化。而一旦在原始類(如:VCL的TObject)的設計上存在問題的話,那么隨著類層次的展開,問題將會逐步放大,最后可能會導致整個框架的崩潰。這就要求設計者具有豐富的經驗!

  我從不相信程序員的壽命只到35歲,也許35歲以后,實現能力(其實就是工匠能力)有下降的可能,而設計能力是隨著經驗的增加不降反升的。這才是最寶貴的。

  國外的軟件開發小組,一般的骨干都是40歲上下的人,那些才是大師級的程序員,而所謂的過了35歲就不能當程序員的程序員根本沒有資格被稱為程序員。

  而軟件工程是要將程序員變成編碼員,變成流水線上的一環,設計工作由專門的設計師完成(如框架設計師)。也許,分工細化是趨勢,但是,我們是滿足于做編碼員還是希望成長為設及師,取決于我們的眼光及努力。

  放開眼光,而不是將自己局限于、沉迷于“實現高手”。實現能力是基礎,有一定的實現能力才可能成長,但是,它只是必要條件,而不是充分的。否則,就象爬到山腰就以為自己到了山頂,停滯不前了。那么,你只可能是編碼員,你的程序壽命也只到 35歲。

  努力積累經驗,并且要學會積累經驗。有句話說得好,聰明人與笨人的區別并不在于其不犯錯誤。真正的區別在于,聰明人不會兩次犯同樣的錯誤。
進入討論組討論。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 山西省| 宜昌市| 奇台县| 鹤山市| 鄂温| 南郑县| 墨竹工卡县| 滦南县| 醴陵市| 普兰店市| 永登县| 大安市| 牟定县| 苏尼特左旗| 陇南市| 孝义市| 菏泽市| 玉山县| 固原市| 新田县| 扶沟县| 祁门县| 新疆| 桐乡市| 丰台区| 夏邑县| 徐水县| 津南区| 双辽市| 越西县| 维西| 那曲县| 麻栗坡县| 景洪市| 灵台县| 佛冈县| 扶沟县| 双牌县| 揭西县| 新宁县| 鲁甸县|