想要寫出好味道的代碼,你需要養(yǎng)成這些好習(xí)慣!
大家好,我是小羽。
無(wú)論做什么行業(yè),良好的習(xí)慣會(huì)讓我們受益終生。它就如我們的指南針一樣,指引著我們的行動(dòng),從而走向成功。
養(yǎng)成良好的習(xí)慣,會(huì)讓我們的工作更加順利,生活也會(huì)變的更加清晰。
當(dāng)我們久而久之習(xí)慣了做這些事情的時(shí)候,我們就知道了什么時(shí)候該做什么事,將精力集中在一個(gè)方向,才能起到事半功倍的效果。
放在我們程序員寫代碼的過(guò)程中,想要寫出好的代碼,也要不斷養(yǎng)成一些必要的好習(xí)慣,這樣才能不斷跟進(jìn)技術(shù),從而提升自我。
那么作為一個(gè)程序員,應(yīng)該具有哪些好的習(xí)慣呢?
寫注釋
也許很多程序員覺(jué)得簡(jiǎn)單的代碼不需要去寫注釋。
但對(duì)于涉及到一些復(fù)雜的程序,就需要在每個(gè)類、方法、函數(shù)、參數(shù)以及其他數(shù)據(jù)明確添加注釋。
這樣當(dāng)你當(dāng)你程序出錯(cuò)時(shí),也可以更快的去找到問(wèn)題,進(jìn)行解決。對(duì)于項(xiàng)目后期迭代,也不會(huì)因?yàn)闀r(shí)間長(zhǎng)的原因去重新看一遍代碼,注釋一目了然,可以大大縮短時(shí)間。
重視小細(xì)節(jié)
無(wú)論在開發(fā)還是在調(diào)試過(guò)程中,我們都要有嚴(yán)謹(jǐn)?shù)膽B(tài)度,重視細(xì)節(jié)。
比如,由于不重視編寫代碼時(shí)候的一個(gè)小細(xì)節(jié),少了一個(gè)括號(hào)。而在那里調(diào)試代碼,反復(fù)調(diào)試,最后盯著代碼看,查找函數(shù)名或者變量作用域是否有錯(cuò)誤。
最后發(fā)現(xiàn)是一個(gè)小語(yǔ)法的問(wèn)題,少了個(gè)括號(hào),這樣的問(wèn)題,真的很容易挨領(lǐng)導(dǎo)批評(píng)。
使用插件
很多時(shí)候沒(méi)必要去重復(fù)造輪子。
當(dāng)我們要擴(kuò)展用戶界面、程序或者網(wǎng)站的時(shí)候,插件其實(shí)是一種很好的方法。
插件也可以幫助我們提供定制化功能。如果沒(méi)有找到相應(yīng)的插件,有精力自己也可以去開發(fā)一個(gè)。
利用 GitHub
只要是程序員,想必都離不開 GitHub 這個(gè)平臺(tái)。
在這里有大量的開源項(xiàng)目,我們可以在上面學(xué)習(xí)到很多的新技術(shù)棧和框架。
GitHub 有很多的項(xiàng)目中會(huì)用到的插件和模板,可以用在我們自身的項(xiàng)目當(dāng)中。
利用 StackOverflow
也是一個(gè)社區(qū)平臺(tái)。
上面有很多大佬級(jí)別的人,很熱心,樂(lè)于幫助別人解決問(wèn)題。
當(dāng)你有解決不了的 BUG 困惑時(shí),可以到 StackOverflow 上詳細(xì)的描述好你遇到的問(wèn)題,會(huì)有友好的人幫你解決難題的。
會(huì)用 Google
無(wú)論是在查閱資料還是解決工作中的問(wèn)題,Google 都是我們的首選項(xiàng)。
相比于百度等其他瀏覽器來(lái)說(shuō),谷歌更加適合程序員去使用。
當(dāng)我們程序報(bào)錯(cuò)時(shí),你若無(wú)法理解錯(cuò)誤原因,就可以在谷歌上進(jìn)行搜索,在谷歌上基本排名前幾的答案都能很精確的給到你解決方案的幫助。
多讀 API 文檔
每個(gè) API 都有相應(yīng)的官方文檔進(jìn)行介紹。
文檔為你介紹了所有可用的參數(shù)和選項(xiàng),也會(huì)為你提供一些示例代碼。
如果你對(duì)某一個(gè)插件或者框架技術(shù)理解還是不到位,可以多去拜讀幾遍對(duì)應(yīng)的文檔,相信讀完會(huì)有很大收獲的。
數(shù)據(jù)庫(kù)做備份
在我們的開發(fā)和測(cè)試代碼的過(guò)程中,一定要記住勤做數(shù)據(jù)庫(kù)的備份。
這樣,我們就相當(dāng)于多了一份保障,就算后續(xù)發(fā)現(xiàn),變更不合理也可以進(jìn)行回退。
最好的建議是,在本地保存項(xiàng)目文件和數(shù)據(jù)庫(kù)不同時(shí)間版本的備份。
敢于進(jìn)行重構(gòu)
在出于我們自身或者外界原因的情況下,經(jīng)常會(huì)遇到代碼臃腫不堪的情況。
優(yōu)秀的代碼是不斷經(jīng)過(guò)多次修改得來(lái)的,絕對(duì)不是一氣呵成的。需要不停的重構(gòu),才能變成一份完善優(yōu)質(zhì)的代碼。
比如之前的項(xiàng)目,在開發(fā)過(guò)程中,不停添加若干新功能,出現(xiàn)小問(wèn)題,沒(méi)在意,在后期由于積攢的小問(wèn)題堆在一起,顯得代碼十分臃腫,但是迫于完成開發(fā)進(jìn)度,草草了事。以及有的系統(tǒng) bug 很難解決或者根本無(wú)法解決,就算花費(fèi)大額時(shí)間和費(fèi)用也解決不了,我們就要敢于去重構(gòu)代碼。
掌握多種語(yǔ)言
編程的語(yǔ)言是非常多的,每一種語(yǔ)言都有不同的領(lǐng)域相對(duì)應(yīng)。
應(yīng)該不斷的去拓闊自己的領(lǐng)域,利用閑碎時(shí)間去自學(xué)其他的程序語(yǔ)言,這樣會(huì)讓你的編程思維能力得到更好的提升,思考問(wèn)題也會(huì)更全面。
所謂不想當(dāng)將軍的士兵不是好士兵,這對(duì)于以后我們帶團(tuán)隊(duì)也會(huì)有很大的好處。
良好英語(yǔ)閱讀能力
對(duì)于程序員來(lái)說(shuō),英語(yǔ)是必不可少要掌握的技能之一。
圈子里還有這樣一句話”不學(xué)好英語(yǔ)的程序員,不是一個(gè)合格的程序員”。
屬實(shí)程序員每天要打交道的代碼,全部都是英文編寫的,我們只有不斷提升自己的英語(yǔ)閱讀能力,才能更早的去了解到最新的技術(shù),接觸一手技術(shù)文檔,對(duì)自己的項(xiàng)目報(bào)錯(cuò)信息也能很好的定位,找到哪塊出的問(wèn)題。
閱讀博客
現(xiàn)在互聯(lián)網(wǎng)很發(fā)達(dá),基本程序員都需要去技術(shù)平臺(tái)學(xué)習(xí)新的技術(shù)。
可以多多拜讀別人的博客,然后與自己的所學(xué)進(jìn)行對(duì)比。
每個(gè)人的思維都不同,也許你有困難疑惑的問(wèn)題,在別人的博客中,能為你提供一個(gè)不一樣的思維理解呢。
技術(shù)輸出
我們應(yīng)該在學(xué)習(xí)和工作過(guò)程中,將學(xué)到的編程知識(shí)記錄下來(lái),并且將它分享給其他人。
堅(jiān)持寫作是有很多益處的,通過(guò)不斷輸出,你會(huì)加深對(duì)這項(xiàng)技術(shù)的深入理解。
同時(shí)也會(huì)收獲一些讀者朋友們的建議,也可以從別人的評(píng)論中得到不同的看法,還會(huì)收獲一些志同道合的朋友。
善于學(xué)習(xí)總結(jié)
技術(shù)是不斷發(fā)展的,我們?nèi)绻患皶r(shí)的去學(xué)習(xí)和總結(jié),就會(huì)被淘汰。
每個(gè)技術(shù)都不是一直保持領(lǐng)先地位的,我們就必須不斷跟進(jìn)新的技術(shù),學(xué)習(xí)新的技能。
善于學(xué)習(xí),對(duì)程序員來(lái)說(shuō)不可或缺,找對(duì)目標(biāo),勤于總結(jié)。當(dāng)我們項(xiàng)目完成時(shí),要保持跟蹤該系統(tǒng)的用戶反饋,找到不足,需要改進(jìn)的地方,不斷提高自己,才能不會(huì)落后其他人。
學(xué)會(huì)自測(cè)
對(duì)于軟件開發(fā)來(lái)說(shuō),并不是研發(fā)只負(fù)責(zé)研發(fā),測(cè)試全部交給測(cè)試來(lái)做。
要想提升開發(fā)效率,就需要開發(fā)工程師在完成自己的代碼的時(shí)候,首先自身進(jìn)行一遍自測(cè)。
這樣會(huì)讓我們的 bug 盡早發(fā)現(xiàn),去解決它們,大大提升了開發(fā)的效率,縮短開發(fā)周期,從而對(duì)項(xiàng)目的整體效率和建設(shè)提供可靠的保證。
團(tuán)隊(duì)協(xié)作
我們?cè)陂_發(fā)過(guò)程中,都需要與團(tuán)隊(duì)中的小伙伴多多協(xié)作,不能只是完成自己的任務(wù)就可以了。
因?yàn)橐粋€(gè)項(xiàng)目的最終完成,是靠一個(gè)團(tuán)隊(duì)完成的,個(gè)人能力再出眾,離開了團(tuán)隊(duì),也是無(wú)計(jì)可施。
所以我們?cè)谘邪l(fā)過(guò)程中,應(yīng)該積極與團(tuán)隊(duì)成員溝通,交流,這并不會(huì)浪費(fèi)我們的開發(fā)時(shí)間,相反,有效的團(tuán)隊(duì)協(xié)作,會(huì)大大促進(jìn)項(xiàng)目的早日竣工。
保持工作激情
大部分程序員當(dāng)初選擇這一行業(yè),都是由于高薪的原因。至于是否真的對(duì)編程有激情,或者熱愛(ài)編程我想很難說(shuō)。
然而,在我們多年編碼過(guò)程中,一定要保持充分的激情與熱愛(ài),只有一份鉆研代碼的信念,我們才會(huì)真正體驗(yàn)到編程的樂(lè)趣。
興趣是最好的老師,保持工作中最大的激情,我們?cè)诿鎸?duì) bug 時(shí),也不會(huì)厭煩,而是會(huì)迫不及待去解決它們,收獲成就感。
不斷提升邏輯思維能力
眾所周知,程序員需要擁有嚴(yán)謹(jǐn)?shù)倪壿嬎季S能力。
我們更多時(shí)間應(yīng)該去明白了解需求到底是怎樣的,如何實(shí)現(xiàn)的技術(shù)步驟。
當(dāng)需要考慮的問(wèn)題在腦海里匯思好后,才回去利用剩余的時(shí)間寫代碼。所以應(yīng)該不斷提升自己的邏輯思維能力,是很重要的。
不畏壓力迎難難上的信念
很多時(shí)候,其實(shí)擺在我們開發(fā)面前會(huì)有很多的需求。
當(dāng)一堆項(xiàng)目同時(shí)需要在短期內(nèi)完成的時(shí)候,我們不應(yīng)該選擇回避這些壓力。
相反,更應(yīng)該接受挑戰(zhàn),只有克服一道又一道難題,我們才會(huì)成為更優(yōu)秀的開發(fā)者,這個(gè)信念也會(huì)對(duì)我們生活中有很大的幫助。
提高效率有效加班
程序員行業(yè) 996 工作作息已經(jīng)是大部分企業(yè)內(nèi)奉行的準(zhǔn)則了。
這個(gè)我們無(wú)可避免,因?yàn)闆](méi)有這么多的付出,是得不到相應(yīng)的回報(bào)的。
不過(guò),很多時(shí)候的加班我們自己也可以控制,大部分加班都是因?yàn)殚_發(fā)效率低下,趕不上項(xiàng)目的進(jìn)度。所以,我們應(yīng)該在平時(shí)工作中,多多提升效率,保持專注,這樣才會(huì)避免不必要的加班。