狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

內疚的程序員

admin
2012年3月27日 17:43 本文熱度 2480

我發現,當程序員開發了一個項目,然后要把它移交給其他程序員時,他們會對開發這個項目時做出的一些決策感到內疚。我問他們當時為什么選擇這樣做,他們會羞愧的說,“唉,我知道這不是最好的實現方法,如果現在再去做,肯定不會采用那樣的方式。”有些人可能會辯護,或強調一下外部因素,比如工期壓力。但我的觀點是,程序員不需要為老的項目感到太多的內疚。


經驗


我承認,我曾經有一次重新發球的經驗。那是一個作為內部工具使用的Ruby on Rails項目。我之前對這種技術架構了解不多。基本上就是把東西按照需求拼湊起來,它運行很正常。沒有多少測試,設計上必然是沒有體現出最好的設計原則。但它能用。


接著,我做了一個6個月長的Rails項目,過程完全是TDD的。在此之后,出現了一個機會,需要調整那個內部工具,增加一些功能。


我很高興有這次機會。我感覺對這種技術有了更好的了解,能夠看出代碼中存在的問題,知道如何用更好的Rails或Ruby技術來解決這些問題。這讓人很興奮。不止一次,我驚奇于那些老的代碼竟然能正常的運行。我想,絕大多數程序員都很少能有這樣的機會,除非他們是在維護一個老項目,我想這是一次很有價值的經歷,讓我在事后看清了我自己寫的程序。


綜合分析


但后來,我開始意識到,程序員不必要為自己開發出的產品感到內疚。新的技術和實踐方法不斷的出現,等待著你去學習,每一次你都要權衡取舍,總會有事后諸葛亮的情況出現。我應該現在重構這個類,還是放到以后再說?我是需要把設計的容易擴展,或者根本不需要這樣?做這個項目時我們是否應該首先盡量的減少技術上的風險?


在針對某一問題我遍歷群書后,對解決這類問題我學會了新的技術,新的方法。但這并不能妨礙我們當前的工作。我們不可能百分百的知道我們所需要的知識,我們能想到的方案只是能滿足解決當前問題需求。


我相信,程序員都已經盡了他們最大的努力。但這并不能免除程序員犯錯誤,并從錯誤中學到經驗,也不能保證他們能夠進行先知先覺的學習。


我想說的是,程序員如果沒有足夠的知識以最佳的方式來解決所有的問題或在困境中做出最正確的抉擇,他不必為此不安。在之后的歲月里認識到了自己的錯誤,這是自己進步的標識。每一次都把事情做的正確無誤,這暗示一種技術的停滯,或完美主義。哪一種更有可能?


你是否也有過這樣的一種愿望,希望能夠重新來一次,改變某個軟件項目中的某些東西?有過看著自己寫過的代碼感到惡心的時候?把事情做對,還是把事情做完?平衡點在哪里?在評論里留下你的想法吧!


本文編譯自:外刊IT評論


該文章在 2012/3/27 17:43:56 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved