我正在努力保持積極向上的態度,並將質量軟件的目標作爲我的目標;然而,其他人正在批評我的代碼。我該如何做好充分的準備,並充分利用可能很困難的代碼審查?有沒有辦法爲粗略的代碼審查做準備?
回答
編程風格就像女朋友(男朋友)。每個人都有自己的,對他(她)來說,她(他)比對方好。
因此,不要準備防禦性的批評。獲取它,並從中吸取教訓。即使是最明顯的錯誤的人也可以有好的想法(是的,有時候你必須調用破損的時鐘效應:破損的時鐘一天兩次)。另外,我的經驗告訴我,在編程方面沒有好的解決方案。有妥協。你的解決方案可能很好,他的解決方案也可能很好。這很少像你的好,他是錯的。也許這兩種解決方案中的一種對於這種設計來說是笨拙的,並且最終如果你發現這種情況發生的正當理由,那麼你可以指出它。
我不確定是否有辦法讓它免受傷害。重要的是要繼續學習。
傾聽他們的話,並從中學習。確保寫下他們說你在代碼中出現了錯誤,並確保從那時起,在編碼時總是使用它,這樣你的代碼將最終得到改善,並且你將得到一個沒有發現缺陷的點或者至少沒有主要的。
就像斯特凡諾說的,不要防守,要積極主動。在審查之前檢查你的代碼,看看你能否找到你可以做得更好的事情。記下你知道自己可以做得更好的事情,並將其納入評論。寫下你的評論者提出的一切,以便你可以從評論中學習。
也準備好解釋你爲什麼按照你的方式做了某些事情。
我建議的第一件事就是將對代碼的批評與人批評爲非人性化。你的工作並沒有將你定義爲一個人,你的天賦能力並不是天生的,他們可以學習。我認爲你也需要少備而不是多備。查看評論是什麼。這是試圖讓您的代碼更高質量。這次會議旨在提高你的技能,讓你更好地工作。爲任何對抗性會議做準備可能會讓人感到困惑和灰心。有一條原則規定:「任何有缺陷的組織都會找到n = 1個替罪羊來指責他們的問題」。有時候工作環境確實是有毒的。如果是這樣的話,我會準備好一點點的閱讀,讓你平靜下來,讓你開心。處理代碼審查之外的有毒環境。
我可以看到,這個問題已經做了相當多的編輯,正如hacklord最初制定的那樣:)現在這個問題變得更有意義,但與編程無關。獲得代表回答/詢問這類問題的人們......讓我們將其設爲社區維基,或者立即刪除它。
哦,我的回答是,在你進入像這樣的緊張局勢之前,睡個好覺。可以幫助你保持冷靜,避免從代碼審查:)越來越尷尬
建議:
- 確認並套用批評(重複自己的話),以確保你瞭解它,你的評論家知道他們已經被聽到。
- 有禮貌地堅持認爲批評是有建設性的:批評者必須說如何做得更好。
- 請求允許在計算機的麥克風上錄製會話。您可以在8000Hz獲得很多聲音;這樣您就可以專注於與人交流,並在稍後獲取詳細信息。
- 安排您的一天,以便在您回顧後立即離開建築物並喝一小時咖啡。如果可以的話,結識一個值得信賴的朋友
徹底的代碼審查是從來沒有的樂趣,但你得到更多的實踐,出血就會停止更快...
我儘量採用這些觀點:
儘管批評可能看起來很苛刻,至少你有一些人花時間在看你的代碼,並且很有可能你會以不同的方式查看你的代碼,因爲它會大聲捍衛或解釋你的設計決策。如果我用我的代碼花費太多時間在腦海中,我不知道它是否有意義 - 它可能有用,但是從現在起9個月後有人能夠支持它嗎?他們能看看它,並且明白我的意圖嗎?
當我回到去年的項目時,我發現在很多方面都很糟糕。通過代碼審查,至少我早日知道,並有機會糾正至少一些。
此外,我發現如果我記住,我將通過代碼審查,我更符合命名約定和編碼風格。尷尬,因爲我拼湊在一起的廢話足以促使我思考「如果我在博客,文章或書中閱讀此代碼,我是否會理解它,並相信它的寫作能力?」糟糕的代碼審查的羞辱是值得的,因爲它會促使你生成更好的代碼。
準備代碼審查的一部分是編寫更好的代碼。知道某人正在查看你正在處理的內容並批評它,這有助於你寫出更好的代碼。當你知道你將要與你的同事一起審查這個「呃,但它有用」的藉口並不適用於你自己。
使用您從一個代碼審查中學到的知識,在下次編寫更好的代碼。努力做得更好。
- 1. 有沒有辦法做一個「無法檢測的,iframe代碼」
- 2. 有沒有辦法做一個「setRotation()」方法或代碼?
- 3. 有沒有辦法做一個查詢
- 4. 有沒有辦法隱藏JavaScript代碼?
- 5. 有沒有辦法從代碼
- 6. 有沒有辦法在代碼
- 7. 代碼審查工具,用於準備大量更改爲代碼庫
- 8. 有沒有辦法查看Construct 2中的實際代碼?
- 9. 有沒有辦法檢查代碼的清單許可?
- 10. 有沒有辦法像IRB中的代碼一樣查看?
- 11. 有沒有辦法從C#代碼檢查池中的連接?
- 12. 有沒有辦法做這個查詢沒有子選擇?
- 13. 有沒有辦法從TFS中的代碼審查請求中查看Windows窗體應用程序的GUI?
- 14. 有沒有辦法讓我的代碼在代碼中開始?
- 15. 有沒有辦法強制Gerrit將分支中的所有提交推送到代碼審查?
- 16. 代碼審查和代碼審計有什麼區別?
- 17. 有沒有辦法用設備輸出聲音做iPhone錄音?
- 18. 有沒有辦法檢查代碼是否在TransactionScope中執行?
- 19. 有沒有辦法使用PSFTP檢查返回代碼?
- 20. SQL查詢太長了,有沒有辦法清除代碼?
- 21. 有沒有辦法查看Android Google服務源代碼?
- 22. 有沒有辦法在Ace代碼編輯器中查詢HTML?
- 23. 有沒有辦法從file.obj查看源代碼?
- 24. 有沒有辦法根據我的標準更改代碼的顏色?
- 25. 有沒有辦法替代標準的登錄Android?
- 26. 有沒有辦法省略掉參數?
- 27. 有沒有辦法將這個JavaScript代碼轉換爲jQuery?
- 28. 有沒有辦法爲RESTful堆棧生成樣板代碼?
- 29. 有沒有辦法創建一個代碼爲
- 30. 有沒有辦法將文本轉換爲代碼?
我大量編輯這篇文章。我的道歉,但格式化,清晰度和目的確實有助於質量問題。 – ojblass 2009-04-25 23:00:42
我有點兒在問幫助和問別人,但它確定 – H4cKL0rD 2009-04-25 23:03:18
根據你的個人資料,我沒有意識到你是15歲......這完全改變了這個問題。你從你的代碼賺錢了嗎?人們在什麼前提下批評你的代碼? – ojblass 2009-04-25 23:04:35