<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我眼中的軟件開發

    這篇文章是受啟發于要求我寫一些設計和spec的文檔的面試要求。趁這個機會整理整理自己的思路。

    什么是軟件開發呢,最常見的一種說法是,軟件開發是一門藝術。我覺得更現實的講,軟件開發應該是一種生產。跟其他所有的生產一樣。要考慮成本和收益。收益這塊,跟其他很多外部因素相關,對開發者或者說開發者的管理者來說無法控制,開發者從職業的角度出發更多需要考慮的是成本。這也是我們職業的目標。

    軟件這種產品的生產,材料本身的損耗也就是電腦,電費,基本屬于沉沒成本。不會因為咱們任何努力而改變。(也不是完全不能改變,只能是變多。。。。)那么,最大的成本損耗在時間上。一方面,程序員都屬于高薪人士(相對,相對)。每一天的損耗都意味著大量的錢打水漂了。另一方面,隨著時間的推移,商業價值在降低,風險卻在增加。

    對軟件開發來說,需求實現速度,應該說是很重要的,但是實現速度本身并不是考量的標準單位。作為最大成本考量標準的時間,從對她的消耗來看:除去簡單的功能點實現需要,需求的變化浪費的時間則更客觀。而無數實例證明,我們在需求分析階段投入時間誠然可以減少需求的變化,但是并不能達到我們滿意的高度,所以對需求變化的反應也是我們的重要標準。

    敏捷這個詞,我覺得非常好。做為一門方法學,從名字上就說明了軟件開發需要關注的兩個重要的點:需求實現速度和對于需求的反應速度。當然,說到這里有點虛了。我想,回歸到不太實際的本質,能更好的指導我們的實踐。Rails框架為什么這么火熱,恰恰因為它做到了這兩點。我們想想,為什么要設計?我讀過讓人舒爽的代碼,也讀過看著讓人想吐的代碼。拋掉個人的感情因素,這兩種代碼有什么區別呢?大部分讓我想吐的代碼里出現的是一些重復的代碼,看起來稍有不同,卻不肯費點心思除掉這些“壞味道”。重復代碼的問題在哪里呢?最大的問題就是隨著代碼量的增多,工作量的與日劇增。維護量也會增大。而且,復雜度絕對不是O(n)。其實我常常覺得,我們最早學程序的時候要學算法與數據結構。其實這個課程很早就告訴了我們編程最重要的兩塊:算法,結構。好的設計就是好的結構。可擴展,可維護,最起碼,可以分工。

    好的設計可以大量的減少代碼。減少代碼就意味著成本的降低。也就是文初說的,我們職業的目標達到了。但是現實往往不是那么美好,雖然我們有很多OO的設計模式,我們有很多最佳實踐。但是在現實中,我們往往需要妥協。一般是三個原因:性能、穩定性、各種接口,在左右著我們。其實,很多時候,這也是最考驗一個程序員的功力的地方。如何在這三個沼澤上跳舞,才是軟件開發真正可以被稱之為藝術的地方。而怎么做,則只能靠一行一行的代碼鍛煉,一篇一篇文章和文檔整理經驗,沒法一句半句說得清楚的了。



    posted on 2010-04-15 16:38 咖啡屋的鼠標 閱讀(2096) 評論(3)  編輯  收藏 所屬分類: Agile隨筆

    評論

    # re: 我眼中的軟件開發 2010-04-15 19:42 路人甲

    "好的設計可以大量的減少代碼。減少代碼就意味著成本的降低。"
    對這句話不敢茍同,好的設計包括指可維護性、可擴展性,并不是說代碼量的減少。  回復  更多評論   

    # re: 我眼中的軟件開發 2010-04-15 22:02 咖啡屋的鼠標

    @路人甲
    可擴展,可維護。最終的判斷指標也是隨著擴展和維護,需要付出的時間。擴展時需要寫的代碼減少也是代碼減少。誠然代碼不能一概而論的作為時間的考量標準,因為一行代碼和一行代碼的價值并不同。除了不同的人,即便是同一個人,在不同的階段代表的時間占有量也不同。可是在每一個單獨的時間點,我們可以把它做為一種單位去考慮我們的設計。比如我們需要擴展一個系統,好的設計可能只需要寫少量的代碼,不好的設計可能需要寫很多代碼。這也算是減少了代碼量。  回復  更多評論   

    # re: 我眼中的軟件開發 2010-04-19 13:34 Sefler

    Good~現在國內很多人還是認為代碼是軟件的全部,這真是悲哀!  回復  更多評論   

    <2010年4月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    導航

    統計

    常用鏈接

    留言簿(15)

    隨筆分類(52)

    隨筆檔案(76)

    文章分類(3)

    文章檔案(4)

    新聞檔案(1)

    收藏夾

    Flex

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产大片免费网站不卡美女| a毛片在线看片免费| 亚洲一区二区三区免费在线观看| 亚洲精品无码Av人在线观看国产| 中文字幕在线免费播放| 亚洲国产一成人久久精品| 免费国产99久久久香蕉| 亚洲一区免费观看| 2015日韩永久免费视频播放| 亚洲成a人片在线观看中文app| 69视频在线观看高清免费| 久久综合亚洲色HEZYO社区 | 亚洲国产成人精品无码一区二区| 最近最好最新2019中文字幕免费| 亚洲成色999久久网站| 97公开免费视频| 亚洲乱码一二三四区乱码| 午夜一级毛片免费视频| 亚洲精品无码久久久久APP| 深夜国产福利99亚洲视频| 久久久精品国产亚洲成人满18免费网站| 亚洲精品国产va在线观看蜜芽| 一级毛片一级毛片免费毛片| 国产亚洲精品美女久久久| 免费国产黄网站在线观看| 日本亚洲色大成网站www久久| 在线观着免费观看国产黄| 一级毛片a女人刺激视频免费| 亚洲AV无码不卡在线播放| 免费可以看黄的视频s色| 无码视频免费一区二三区| 亚洲av乱码中文一区二区三区| 亚洲美女在线国产| 亚洲成人免费在线| 亚洲熟妇AV日韩熟妇在线| 国产黄色一级毛片亚洲黄片大全 | 一区二区免费电影| 久久亚洲精品无码VA大香大香| 四色在线精品免费观看| 国产免费久久精品99久久| 亚洲天堂一区二区三区|