高效程式設計師應該養成的七個習慣

2022-02-04 01:08:34 字數 1905 閱讀 8282

理解你的需求

成為乙個有效率的程式設計師首先要知道如何正確的支配自己的時間。對時間最大的浪費莫過於去做那些沒有用處或者永遠不會上線的專案。而導致這種結果的根源往往是對需求理解的偏差。

要最大程度避免這種情況的發生,最好的辦法是快速建模,盡可能讓演示系統早點出來。對於客戶來說,只有看得到摸得著的產品擺在面前,他們才會有興趣去試用觀察,才會在實際的操作中發現供需雙方在需求理解上的偏差。否則即使你寫上幾百頁的需求分析文件也只能是自己的一面之詞,客戶可沒耐心去檢查這些文件寫的是否準確。

另一方面,你應該讓每乙個階段的開發成果都能夠盡早的提交給客戶。讓他們以完全不考慮操作合理性和業務邏輯性的傻瓜級操作來發現程式設計師程式設計中的固有思維侷限。尤其必須讓qa盡早的介入到專案開發中來。如果能夠每天提交乙份測試版本給qa自然是最理想的了,但大多數專案開發做不到這樣的粒度,那麼就爭取每週提交乙份可測試版本。重要的是應該讓qa和開發能夠保持交錯並行狀態。只有這樣,才能讓qa盡早發現bug,降低每個bug的修復成本,同時縮減獨立測試週期的跨度。

程式設計師往往不願意把半成品**交付給測試人員,相反他們更喜歡在所有**都完工,達到自己滿意的程度之後再讓別人來測試。因為在這之前的**往往存在很多程式設計師自己知道需要修改(或者故意留待後續補全)的流程缺失和bug,測試人員並不知道哪些是真正的bug,哪些只是臨時性的執行錯誤,每次都會一股腦兒作為bug反饋給程式設計師。這往往讓程式設計師們心煩。同時測試人員有時候也不喜歡測試這種很多分支都走不通的中間版本。

但不管喜不喜歡,測試並發現問題是測試人員的工作;程式設計師則應該認識到,bug反饋得越早就越是件好事情。qa和開發之間的關係往往很敵對,可實際上雙方的目標是一致的。「忠言逆耳」古訓有之,對於程式設計師來說就應該「有則改之,無則加勉」。總好過專案完成之後才發現一堆的問題,到那時候再要做修改,基本上都會牽一髮而動全身,痛苦的還是程式設計師自己。

保持真實性

盡可能讓你的系統執行在最接近真實環境配置下面,使用有實際意義的資料和真實的編譯版本,並經常性進行模組整合。如果你的測試環境使用的資料都是些胡亂新增的東西,那麼將來和測試資料大相徑庭的真實資料這塊大冰山早晚會撞沉你的程式。另一方面如果你只在開發環境來編譯執行測試,會發現正式發布之後有各種各樣莫名其妙的問題產生,到最後原來都是因為環境配置與開發環境有些不起眼的差異所導致。把所有模組整合進行編譯聯調,看上去應該是最後作的一項附加工作,但實際上這是一項需要在開發過程中經常性進行的工作。只有這樣qa才能有最完整的東西拿來測試,得到更多的bug反饋,同時降低模組整合的難度。

理解你的**

書寫規範的**,並保持**的整潔。coding是一門藝術。正如寫作一樣,同樣的文字在文豪的筆下就能夠熠熠生輝,讀起來賞心悅目;在普通人的筆下大概就只是詞能達意的效果了;在某些人的筆下或許就需要研究半天才能猜出個大概來。當然不可能人人都成為藝術家,但至少你可以學會欣賞藝術、學習藝術。書寫漂亮的**是對自己工作的尊重,也是對其他程式設計師的尊重。如果你的**中間充斥著大段過時的注釋、可讀性差的變數/函式,怎麼去要求別人或者自己以後能夠理解它們?

最優程式設計

把你的時間花在**的功能上, 而不是去把現有的**改得對自己胃口(尤其對於那些copy/paste過來的**);要找到系統的瓶頸進行優化,而不是對那些無益於系統整體效能提高的地方做無用功。

管理好你自己

也許有人會說計畫和進度控制是pm的事情,但乙個好的程式設計師應該比pm更了解自己目前工作的進度。不論上頭給的進度計畫是否合理,你都應該有自己的原則和概念,清楚知道每天該做什麼怎麼去做。

持續教育

只有不斷的學習、實踐、犯錯誤,你才會真正有所提高。在我看來,對於程式設計師來說最好的老師不在學校,而在書本、網路、社群。學會自我學習才能保持與時俱進。

r-e-s-p-e-c-t

互相尊重是一切的基礎。

評高效程式設計師應該養成的七個習慣

評高效程式設計師應該養成的七個習慣 高效程式設計師應該養成的七個習慣 一文中,phil chu根據自己的經驗提出了高效程式設計師應該養成的七個習慣。它們是 1.理解你的需求 2.保持真實性 3.理解你的 4.最優程式設計 5.管理好你自己 6.持續教育 7.r e s p e c t 請閱讀原文,僅...

高效程式設計師的七個習慣

軟體工程師花費大量時間通過練習leet code問題和完善簡歷來獲得更好的面試通過可能。一旦他們最終被谷歌 亞馬遜或其他公司錄用,他們可能會發現 過去用來得到這份工作的技能與他們日常工作中需要的技能並不匹配。我們的團隊受到 techlead 建立的高效程式設計師七項技能的啟發。我們想提供我們自己對這...

程式設計師應該養成的習慣

google確實是一家很酷的公司。不論是在公司內部或是外部,google都做了很多讓人讚嘆的的事情。這裡我想介紹一些不涉及商業機密,但鮮為外人所知的事情。google的 之所以優秀原因其實很簡單 他們非常重視 審查。審查並不是google獨有的,它被公認為是乙個很好的 提高 質量的 手段,很多人已經...