卓越的控制系統(tǒng)編程人員在設(shè)計上花費的時間更多,這樣他們在實施階段就可以節(jié)省時間了。盡管這看起來是在鼓勵你要足夠懶惰才能成為優(yōu)秀的控制系統(tǒng)程序員,實際上你要足夠聰明和高效,并且對于編程時間和預(yù)算有相當(dāng)?shù)陌盐铡?br /> 僅有良好的編程習(xí)慣并不足以造就一名優(yōu)秀的控制系統(tǒng)程序員。在開發(fā)穩(wěn)定、可靠、高效和精致的控制系統(tǒng)的時候,需要多種技巧。如果你想成為一名偉大的控制系統(tǒng)程序員,看清自己的長處和短處都至關(guān)重要。控制系統(tǒng)程序員最常見的一個弱點,就是系統(tǒng)設(shè)計能力。很多控制系統(tǒng)程序員都是自學(xué)成才,沒有經(jīng)過多少正規(guī)的軟件工程訓(xùn)練。即便是那些擁有計算機科學(xué)學(xué)位的人也是如此,因為他們更加關(guān)注軟件編碼細(xì)節(jié),而不是系統(tǒng)設(shè)計和架構(gòu)。然而,只有擁有良好的設(shè)計習(xí)慣,才能保證開發(fā)出來的系統(tǒng)穩(wěn)定、可靠并且高效。 減少總體時間 最好的設(shè)計習(xí)慣,就是要“懶一點”。這么說的意思是盡量通過在設(shè)計階段花費更多時間、減少實施階段的時間,減少代碼數(shù)量,從而降低編寫、測試、建檔、改錯和安裝的工作量。最好把時間花在只有1000行代碼有效設(shè)計開發(fā)上面,這要好過使用10000行代碼、沒有經(jīng)過仔細(xì)思考的繁雜設(shè)計。 想要成功“偷懶”,就需要從不停止閱讀和學(xué)習(xí)新的架構(gòu)和新的方法。軟件開發(fā)并不是在定義完備而且穩(wěn)定的環(huán)境下進行的,它通常都會不斷演進。五年之前不可想象的架構(gòu),現(xiàn)在卻已經(jīng)成為了主流解決方案。最好的學(xué)習(xí)新設(shè)計模式和簡單方法解決問題的途徑,就是養(yǎng)成閱讀專業(yè)雜志和博客的習(xí)慣。每天花至少30分鐘閱讀其他人設(shè)計解決方案的心得。 有一些非常特別的設(shè)計系統(tǒng)值得學(xué)習(xí),首先是要設(shè)計界面,然后是算法。通過先行設(shè)計界面,你會從代碼用戶的角度接觸到問題。你應(yīng)該設(shè)計一個易于使用、不需要了解關(guān)于實施算法知識的界面。如果理解你界面的時候需要考慮的空間最小,也就容易進行改錯和建檔。 養(yǎng)成重用設(shè)計的習(xí)慣,這是“懶惰”的終極奧義。不要害怕從之前的項目里剪切和粘貼設(shè)計元素。建立并且使用可重用設(shè)計資料庫,并將資料庫與設(shè)計伙伴分享。造成無法重用的一個糟糕設(shè)計習(xí)慣就是過度泛化。你可以針對重用進行設(shè)計,但是如果你在某一個設(shè)計元素的一般化方向上走的太遠(yuǎn),就會有風(fēng)險使得界面過于復(fù)雜。在進行設(shè)計的時候,要考慮設(shè)計重用的可能性,但是不用試圖使用超過50%到75%的重用元素。 正確建檔加速驗證 養(yǎng)成進行規(guī)范顯示設(shè)計的習(xí)慣。使用UML(統(tǒng)一化建模語言),對設(shè)計建檔,這樣它們就易于理解和驗證。UML在軟件工程中的地位就和電路圖在電氣工程中的地位一樣。沒有哪個電氣工程師在不借助電路圖的情況下就會匆忙開始進行布線,同樣也不應(yīng)該有軟件工程師在沒有UML定義的情況就開始編碼。 你所養(yǎng)成的良好設(shè)計習(xí)慣,會減少你需要編寫的代碼量,讓你成為一名更好的控制系統(tǒng)程序員。仔細(xì)地考慮設(shè)計中的重用元素,正規(guī)建檔,是最先進架構(gòu)和模型的根本,這樣控制系統(tǒng)才會更加穩(wěn)定、可靠并且容易維護。 |