優(yōu)效學(xué)院,名師執(zhí)教障般,學(xué)習(xí)更優(yōu)效调鲸,IT在線教育領(lǐng)導(dǎo)者。三人行必有我?guī)熓B#松切枰粩鄬W(xué)習(xí)的线得,在這里我們相遇就是緣分,歡迎大家加群----四六零五七零八二四----讓我們共同進(jìn)步徐伐!希望各位可以看完這篇文章,也歡迎大家在下面留言討論募狂,天冷了办素,也動動手指轉(zhuǎn)發(fā)收藏一下,謝謝大家祸穷!
缺少必要的注釋
大段的if-else缺少注釋性穿,讓維護(hù)者無法快速分辨分支邏輯。特定地方存在hack或復(fù)雜邏輯的代碼雷滚,缺少注釋會讓后來者不明所以需曾。為了你好,也為了后來者好祈远,請務(wù)必加上代碼呆万。說不準(zhǔn)以后還是由你來維護(hù)這段代碼。
不變和變化的部分拆分
程序員中流傳著一句話车份,此處不要寫死谋减,將來必改。有經(jīng)驗的程序員會將一些業(yè)務(wù)層的邏輯抽象出來扫沼,寫成配置文件出爹,好處就是若后續(xù)需求有改變,只需改配置文件即可缎除,肯定不會引入bug严就。
忽視測試部分
程序員中又流傳著一句話,沒有測試的代碼等于沒寫器罐。雖不敢全部贊同梢为,卻也有幾分道理。從測試用例驅(qū)動開發(fā),持續(xù)集成抖誉,每次編譯自動跑測試用例殊轴,能夠保證系統(tǒng)的穩(wěn)定同時也減輕測試成本。自己改的的部分做好自測袒炉,理解需求旁理,做一個有責(zé)任心的工程師。
直接操作數(shù)據(jù)
你應(yīng)該通過方法去操作數(shù)據(jù)我磁,而不是直接操作數(shù)據(jù),這樣能夠保證你總能操作數(shù)據(jù)正確孽文。例如一個類中定義的屬性發(fā)生變化了,代碼中所有涉及到直接操作該屬性的代碼都需要修改夺艰。如果通過方法操作該屬性芋哭,則僅需修改操作方法,對于外部調(diào)用者郁副,類屬性變化被屏蔽了减牺,遵循了解耦的原則,代碼穩(wěn)定性大大提高存谎。
缺乏文檔或文檔質(zhì)量低下
前期文檔很重要拔疚,不論是框架的API使用手冊,還是需求或設(shè)計文檔既荚,以及各種既定流程的規(guī)范稚失,不同種類的模板及核對表,等等這些文檔恰聘,對于項目來說都是非常重要的資源句各。而往往有些項目,這類文檔就是交由非軟件行業(yè)的人員來編寫晴叨,或者前期根本不打算在文檔上浪費(fèi)時間凿宾。
無盡的需求變更,永遠(yuǎn)追不上的進(jìn)度
這是最常見也是最可怕的篙螟,因為無論怎樣菌湃,我們都無法完成它”槁裕客戶可能認(rèn)為改個程序惧所,就像改個Excel一樣簡單省事,甚至?xí)褂每蓜佑玫囊磺袡?quán)利和資源來推行變更绪杏。好吧下愈,我承認(rèn)這樣的客戶我遇到過很多。當(dāng)我向客戶解釋過變更的代價并提供備選方案后蕾久,也就只能等待客戶的選擇了势似,這多少有些運(yùn)數(shù)的成分,但也是無奈之舉。
僅僅靠加班應(yīng)對進(jìn)度落后
進(jìn)度落后并不可怕履因,可怕的是僅靠加班來追趕進(jìn)度障簿。這是問題的關(guān)鍵,長時間的趕工仍然無法趕上進(jìn)度栅迄,這只意味著項目有某種更深層次的問題站故,已經(jīng)不是單開趕工可以解決的了。留意那些長時間加班的項目毅舆,他們往往在管理上存在很大問題西篓,發(fā)現(xiàn)這些問題,在你成為PM時憋活,不要犯類似錯誤岂津。
最后,如果想有一群“臭味相投”的朋友來一起交流學(xué)習(xí)的話悦即,歡迎大家搜索群460570824吮成,讓我們共同進(jìn)步!