天天看點

一位大咖寫給軟體程式設計新手的建議 - 經驗談

作者:架構淺水灣
一位大咖寫給軟體程式設計新手的建議 - 經驗談

今天逛微信公衆号的時候看到一個文,關于給軟體新手建議的事情。看了之後有一點想法,然後就思考了下,覺得有必要記錄一下自己的建議,是以就有了此博文。

  這裡提一下,筆者自己非計算機專業,但是在學校的時候就對程式設計感興趣,畢業後也從事程式設計工作,累積了一定的經驗。按筆者的了解,不管你是否科班出身,需要從入門到精通開始進行學習并且進行實踐,在實踐中去積累和總結經驗,這樣才能夠提高自己的程式設計認知和思維方式。此博文隻是筆者現在的一些建議,後面如果有新的亮點那再補充完善。

  1、 了解需求;

  編碼之前必須先了解需求,知道你需要做什麼,然後再開始程式設計。這一點很重要,就像你做題目一樣,先了解了題目的意思,才能回答問題。需求方面,如果有不明白的,能夠咨詢項目經理,把需求弄明白,然後才讓架構師啥的把架構搭建起來,接着才能夠進行實際功能子產品的編碼工作。

  2、 多閱讀相關程式設計語言的書籍;

  閱讀書籍是挺好的一種提高程式設計思想和技術的方式,比閱讀源碼的效果更好。一般建議先閱讀從入門到精通系列,然後到實際功能子產品,才到設計模式,到架構方面的書籍。逐漸提高該程式設計語言的實際程式設計技巧和經驗。但是還是得配合其它項目源碼的實際來提高水準。

  3、 多閱讀開源軟體、架構、類庫的源碼;

  閱讀源碼筆者認為是一種快樂的過程,能夠從中學習到别人的經驗,也是提高程式設計思想、水準和經驗的一種必要的方式。閱讀書籍能夠得到思想,而閱讀源碼就是能夠得到實際的經驗了。建議閱讀該程式設計語言中的架構及大型的項目源碼,進而提高程式設計的思維,從高次元來對自己的程式設計水準進行提高。

  4、 适當的編寫代碼注釋;

  編寫注釋筆者認為是适當即可,就是說對于一些複雜及對其它程式設計子產品進行編寫注釋即可。編寫注釋也是一種好的習慣,主要是為了在以後回顧自己的代碼的時候能夠有提高,這時候還能夠應用新的程式設計思路去對該業務代碼進行重構而不迷糊,适當的注釋對于了解和回顧以前的業務代碼有很大和必要的幫助。

  5、 有空的時候回顧以前編寫的代碼;

  在閱讀書籍和其它項目的源碼之後,也就是說自己的程式設計思想提高之後,需要對自己以前的代碼進行重構,能夠将目前的程式設計水準和經驗的内容進行記錄及得到實踐,這時候的重構,将以前的代碼得到了思維的提高,也是很愉快的過程,就與自己的思維方式得到提高的那種喜悅心情一樣,對自己的心情也是有愉悅的幫助。

  6、 編寫測試代碼;

說實話,筆者的測試代碼寫的不多,但是建議對一些重要的業務子產品進行編寫測試代碼,就與了解業務一樣,以後該子產品的代碼如果有變動,那直接執行該測試代碼就能夠直接将該子產品代碼的一些問題進行基本的測試,保證基本的功能不出問題。而且,如果對一些子產品代碼進行編寫測試代碼,也是一個使用該子產品的過程,也算是對該子產品實際應用的過程,也是一個例子,這樣以後使用該子產品的時候直接将測試代碼裡的應用放到其它項目中即可,保證了該子產品不出問題,而且也是穩定的代碼。

  7、 重構代碼;

  筆者對自己的代碼,後面閱讀書籍和其它源碼得到思維提高之後,會對該子產品的代碼進行重構,将該子產品的編碼水準和實際的代碼進行修改,能夠提高該子產品的架構和編碼水準和代碼品質,也是提高的一個過程,同時該功能子產品的功能和品質都得到了提高,也更加的簡潔、優雅和健壯安全。是以,筆者強烈建議讀者在有空的時候對自己以前的代碼進行重構,也是一個思維提高的總結,實際應用的一個總結和應用。

  8、 設計模式;

  對于編碼,一定要學習設計模式。其是軟體大師對于實際的應用中的經驗總結,也是非常重要的應用的實踐經驗,更加的編碼和功能應用的過程。也就是說在實際功能子產品開發中,碰到與設計模式一緻的例子,直接就應用該模式即可,前人的經驗都給我們總結好了,代碼和子產品也更加的健壯,是以學好設計模式對于我們的架構設計和程式設計思維的提高有很大的幫助。

  9、 整理寫過的代碼,形成例子;

  與上面的重構和測試類似,筆者認為需要将自己的子產品代碼整理出來,形成例子,相當于對該代碼子產品進行測試類似,能夠幫助讀者在以後的編碼應用中直接應用該例子,複用該子產品代碼即可,更加的方面和友善。

  10、提高程式設計思維;

  從需求到設計是一個思維方式,從設計到編碼是一個思維方式。這裡的需求到設計,筆者認為是從一個架構方面出發的,比如我們使用PowerDesign工具設計資料庫,使用UML設計軟體的類庫群組件等,需要的是一個從文字需求到圖形和邏輯設計的過程。而從設計到編碼,筆者認為是一個從設計圖紙到編碼實作的過程,比如我們根據UML類圖去實作一個類代碼,根據時序圖去實作從一個子產品到另一個子產品的調用過程等,這個也是一個思維轉換的另一個過程。

  現在的程式設計主要是面向過程和面向對象兩種,面向對象是主要的編碼方向,裡面的類庫也是面向過程的方式。新的程式設計語言基本上都是基于面向對象的,無論是哪個類都是在命名空間裡,都是一個個的類堆積起來的,而類是面向對象的對象模闆,已經是面向對象的編碼方式了。

  提高程式設計思維,新手們要把自己的次元提高,比如站在架構師的高度去思考編碼方式,架構師的思維,已經在底層的編碼上提高了,需要新手們深入了解設計模式,從高的思維層次去要求自己,進而提高自己的思維方式,不知不覺中也能夠提高緯度,成為進階的程式員和架構師了,對于自己的成長有好處,對于自己的職業生涯也奠定了基礎。

  11、 前端的設計;

  軟體前端的設計,從UI出發,到功能子產品的設計,建議将自己放到産品經理的層面去進行設計,同時需要參考作業系統和其它軟體的UI和子產品設計,将目前的設計界面與目前的市場中的其它UI設計結合起來,既能夠讓使用者更快的熟悉和使用該軟體,同時軟體前端的功能設計也能夠更好的将設計者的要求結合起來,将産品的實際功能更好的呈現出來。

  12、後端的開發;

  軟體後端更好的是從架構出發,然後到功能子產品,到實際的功能點的編碼,這是一個過程。建議讀者将自己放在架構師的思次元上去進行開發,同時結合自己以前的例子進行編碼,這樣的子產品才能夠進行其它項目的複用。而且性能、安全性方面也需要進行考慮。

  13、資料庫的調優;

  資料庫的調優是一個過程,筆者現在的了解,就是将該SQL語句進行重構,将表的索引充分利用起來,這樣SQL語句的效率就展現出來了。從基本的多表查詢到臨時表等等,最終的要求,筆者認為就是将SQL語句裡的查詢改成用到表索引就行了。

  上面是筆者對于程式設計的一些思考,也是對新手的一些建議,希望能夠對新手們有幫助。強烈建議新手多閱讀書籍和源碼,從别人的經驗裡去學習和積累,形成自己的經驗和方法,就跟在學校裡的學習一樣,都需要自己的了解的基礎上去總結,有自己的學習和實踐的方法,這樣才能夠在實際的工作中事半功倍,提高自己的工作效率,更好的指導自己的學習和工作經驗。

一位大咖寫給軟體程式設計新手的建議 - 經驗談

繼續閱讀