每位開發人員在本身的職業生涯、學習經歷中,都會「開發」出一些壞習慣。在這篇文章中,小編向大家展現我本身有或是老也改不了的壞習慣。我但願若是你剛開始這份事業,可以避免這些壞習慣;程序員
若是你已經有了這些毛病,那但願你可以意識到它們,並能夠開始改變。gulp
1、休息不夠安全
我建議你天天儘可能多休息。我不能說那種具體而微的計劃,由於每一個人都不同,但在通常意義上,你應該每小時都應該起身伸展四肢,活動一下,喝杯咖啡,吃點東西。不少時候,若是你思路停滯,那你須要休息一下,大腦獲得休息有助於更容易地解決問題。因此找到適合你的休息方式。即便你認爲本身不須要休息,但也試一下,你會發現本身的效率提升了很多。微信
2、拒絕尋求幫助框架
這一條在學習和工做場景中都很常見。咱們不少人都不尋求幫助。緣由不少,但我認爲最主要的緣由無非是自尊以及懼怕讓人認爲本身啥也不會。咱們不少人都有冒名頂替綜合徵,以爲本身不徹底勝任本身的工做。我在公司裏、在和客戶打交道時、甚至在上課和輔導中都有這種感受。咱們認爲尋求幫助會強化這種感受。但事實上,它浪費了大量時間,阻礙了你的成長。函數
其餘真正的開發人員們都是視頻或書籍通常的資源,甚至要比這些好太多。他們能夠直接回答你的問題,幫助你真正的理解它。工具
只有混蛋纔會由於你問問題而批評你,這時候我會盡力避開這些人。性能
若是你想要本身找到答案,不想尋求幫助,那也沒問題,給本身一個時間限制。當你的前輩就在你旁邊,他可能知道或至少能夠幫到你的時候,千萬不要浪費幾天時間來尋找答案。單元測試
3、中止學習學習
我無論你是不是從業20餘年的高級開發人員,你應該一直把本身當成一個學生。這比大多數職業的要求更高,由於這一行總在變化。沒有一個開發人員能夠知道全部事情的所有內容,他們這一分鐘這樣作,下一分鐘就有變化發生,他們就必須學習更多。若是你驕傲自滿,中止閱讀、學習,你必然會落後。即使你有一份不須要學習任何新東西的工做,一旦你失去了那份工做(這並不是不可能發生),你會遠遠落後。因此即便有這樣的工做,我也建議你邊工做邊學習。
無論你喜歡那種語言、框架、庫,你都要及時更新你的知識。若是你的職位須要的只是舊知識,這也是可理解的,由於不少領導傾向於認爲若是公司還沒沒落,那就不必修復。因此你仍然會發現有些團隊用着過期的、不受支持的技術,只由於該技術還能運行。若是你邊工做邊學習這方面的新東西,那你就能夠向團隊展現更快、更高效、更簡單的新技術是可能的。你或許可以說服他們更新技術、改善公司。
4、混亂的代碼
這一條更多地是一種技術習慣,但也可能意味着不少事情。你應當以一種直觀、高效、安全的方式寫代碼。這在自學的時候簡直太難了,由於在相關的課程中,你學到的不是寫某些代碼的最佳方法,而是導師認爲這麼寫最容易理解一些核心概念。因此,你必須進行一些額外的研究,找出清理你代碼的最佳方法。
我絕對建議你使用「避免重複代碼原則」(DRY principle,don’t repeat yourself)。若是你遇到常見的代碼塊,那就建立某種「類」(class)或「函數」(function)來合併這部分功能,而不是僅僅重複它。這讓代碼更加簡潔,節省了大量代碼行,而且便於他人使用。
你也要注意性能,好比壓縮圖片、縮小JavaScript和CSS。你可使用task runner(如gulp)或其餘工具自動完成壓縮,面對小型任務,你甚至可使用minifier.org等手動完成。
另外,不要進行沒必要要的API接口調用,要使你的全棧應用程序以儘量少的請求完成你須要的所有功能。以及測試……我在這上面犯了不少錯,沒有作足夠的測試。就我所知,單元測試有助於搭建更健全的應用程序,避免潛在問題,節約時間和開銷。但我就是很討厭它,這多是我最壞的習慣之一,也是我成爲更好的開發人員須要解決的大問題。有時候咱們回了節約時間減小測試,但在現實中,這樣作會下降應用程序的性能、效率和可讀性,並且與一開始就採用正確的方法相比,它可能在未來引發更大的麻煩。因此請記住這一點。
5、工做和生活的不平衡
工做和生活的平衡真的很重要,尤爲是當咱們成家之後。無論什麼類型的程序員都要花大量的時間在工做上,這有不少緣由:事情總在發生變化;咱們遇到的問題讓咱們步履維艱;咱們須要研究這些問題等等……這就致使了不少時候,咱們不得不工做到很晚、很早就開始工做、週末也加班。這會讓你遠離生活中的一切,好比你愛的人們、你的我的愛好。你可能喜歡運動、遠足或是在外吃大餐,但假如你一直要加班,你就無法作這些讓你快樂的事情。
我在這個領域有不少經驗。我和妻子有兩個孩子,其中一個患有自閉症,但我無法像我想的那樣花大量的時間陪他們。我面臨着雙重困境,由於我既要處理編碼問題,又要處理內容創做者的問題,要不斷地提出新想法,有質量地記錄下來等等。
若是你是自由職業者,爲本身工做,全部的生計都取決於完成工做,你只有把全部的事情作完才能拿到報酬。有報酬,也就必然得承受持續不斷的擔心:本身是否能跟上進度、本身可否完成任務。壓力真的很大,讓咱們不得不把其餘事情從咱們生活中擠走。並非說在公司工做的人就不會經歷這些,而是說當你須要考慮全部的事情的時候,壓力等級徹底不一樣。因此我很同情那些有本身生意的人。
但即使如此,你也不能讓它控制你的生活,你必須爲你的家人和朋友留出時間,或者更坦率地說,爲你本身留出時間。生活可遠比寫幾行代碼豐富多了。作你本身喜歡的事情,給你的生活帶來平衡。
6、糟糕的辦公室政治
這一條是給那些在公司工做的人們的。你和其餘人一塊兒工做,但這反過來又會引發衝突、分歧、爭論等等。許多開發人員十分傲慢,總認爲本身是正確的,即便他們知道本身犯了錯,他們中的一些人也永遠不會認可。我不是說這是大多數開發人員,但我認爲咱們至少會遇到一位這樣的人。我聽不少人說,他們的團隊很是棒,成員之間相處得很是融洽,這很好,但不是全部團隊都是這樣子。
不少時候大家會在想法和解決方案上發生衝突,試着表現得老練和對對方的尊重,但同時,也不要太容易就被說服,尤爲是當你對本身的提案很是有信心的時候。
不要大喊大叫,不要罵人,千萬別作這些事情,這什麼用也沒有。
若是他們開始這樣對待你,你就離開,作一個更強大的人。
若是你不幸遇到了一個十足混蛋的團隊成員,他徹底不聽理由,你除了想辦法避開他以外,別無他法。
在某些狀況下,你可能不得不和大家的領導交談,不過我仍是建議你先和那我的談談。
7、不能從錯誤中吸收教訓
做爲一位開發人員,你會犯不少錯誤,這不可避免也沒什麼大不了的。但若是你老是犯一樣的錯誤,不能從中吸收教訓,那就有問題了。
當你犯錯後,我建議你聽從這樣一個流程:
找出錯誤的根本緣由是什麼;
找到能夠防止錯誤再次出現的流程;
弄清楚若是早先發現了錯誤,可否避免後果。
當你犯下大錯,請你仔細思考一下這三件事,頗有可能就不會再犯這個錯誤了,或者你至少下次會盡早發現錯誤,避免狀況惡化。同時,不要由於犯錯而對本身太苛刻,誰都會犯錯。
8、太早放棄
我並非說你啥項目都不能放棄,只是我看過太屢次人們在即將成功的前夜放棄了。因此在放棄以前,確保你試盡了全部可能:已經上下求索、尋求幫助、用遍方法、換個技術、休息很長一段時間讓本身的思緒恢復正常、若是可能的話已經擱置了一段時間……你在放棄以前作了全部能作的事情,若是仍是失敗,那麼也許是時候放棄它、繼續前進了。成功可能就在眼前,若是你這時候放棄,真的太恥辱了。
9、作一個無所不知的人
這些人大多數都是Stack Overflow網站(一個IT技術問答網站)的魔鬼,他們取笑新開發人員的問題,嘲笑他人的回答,一有機會就點擊「反對」。我討厭死這些人了。我認爲他們中的許多人在學校裏就老是被人找茬,他們利用本身的知識欺負其餘可能有問題或是沒有所得的開發人員,看上去像是忘掉了被欺負的感覺,只想要復仇。我這個理論可能有問題,只是一家之言。
不管他們出於什麼緣由這麼作,我認爲若是他們思想開放、歡迎不一樣的想法、尊重他人,那他們就會比老是想要「正確」的人快樂多了。他們多是團隊中最聰明的人,也是最糟糕的人,由於沒人願意和他們合做,沒法進行良好的溝通。對於一個想要成功的團隊來講,溝通和團結是必需的,而無所不知的人會破壞這些。因此,若是你是這樣的人,試着別那麼自負,開放一點,尊重一點,你會走得更遠。
10、不接受建設性批評
但不少狀況下不是這樣的,這只是某我的想教給你一個更好地方法,或是分享本身的意見。做爲內容生產者,我花了好久才學會分辨挑事者和好心人。一開始,有人談論我如何作某事的時候,我都頗有戒心。但我意識到,他們中的許多人只是在試圖提供合理的幫助。若是他們並不是不尊重,或者只是對一些可有可無的事情挑三揀四,那我就須要把它當作對我和對個人知識有益的東西。
建設性的批評是學習的絕佳資源,由於建設性的批評頗有針對性,是你現有的問題,是他人給你的具體解決方案,這是無價的。事實上,代碼審查簡直太棒了,你能夠獲得其餘人的建議,改進你的代碼甚至是你本身。
因此不要把這類事情都當作人身攻擊,除非你真的受到了攻擊,或是故意的取笑和不尊重。聽進別人的批評或改進建議老是很難,但最終,這會讓你成爲一個更棒的開發者。
不管是新開發人員,仍是經驗豐富的老手,我都但願這些建議可以幫助到大家。
獲取更多內容,請掃描下面關注個人我的微信公衆號,天天會分享新的技術、知識,工做中的常見問題,更多資料視頻等,關注回覆「666」便可獲取學習資料。