2010-08-29 73 views
3

對不起,在這裏發佈這個平凡的問題,但我需要幫助!軟件最佳實踐需要培訓主題

我必須爲我公司的一些 程序員做1個小時的軟件最佳實踐培訓。觀衆是新人到幾年 體驗傢伙。

你們可以請你提出一些我可以覆蓋的相關話題嗎?

我能想到以下幾點:

1)的下列編碼標準,壓痕 2)文件,變量,函數,類,表 列,視圖和所有其他文物的正確命名重要性 3 )層應用程序 - 每層都必須解決一個特定的 關注 4)摘要常見的東西成可重用的工具類

任何幫助,將不勝感激 (這個職位&是肯定的,我保證ç通過回覆至少10條主題歸屬於 社區!)

+1

我的意思是沒有犯罪,但如果你想不出來呈現重要的最佳做法,並沒有準備演示所需的資源,你可能是錯的人給這樣一個介紹。當我閱讀有關最佳做法的文章或參加有關這些文章的演示文稿時,我希望作者或演示者對他所呈現的內容有經驗。考慮談論你認爲重要的事情,以及設計模式,實踐和其他你認爲有用的事情。如果你這樣做,你的演講會更加有趣和令人信服。 – 2010-08-29 03:56:06

+0

編碼** DON'TS **的一個很好的列表已經在這裏覆蓋:http://stackoverflow.com/questions/114342/what-are-code-smells-what-is-the-best-way-to -correct-them – gnovice 2010-08-29 05:15:26

+0

不能同意更多!但仍然有賬單支付.. – user434043 2010-08-29 07:38:20

回答

0

This SO link可能有您想要的最佳答案。其中一個觀點是:

唯一的「最佳做法」你應該使用 所有的時間是「用你 大腦」。

0

您的主題已經涵蓋了相當廣泛的領域。但是進入大量編程細節,可能會導致這樣一種印象,即軟件開發最佳實踐只涉及編碼。

定期提交與仔細編寫的提交消息(測試代碼)是同等重要的。這導致下一個主題。測試。測試你的代碼,反思一下。 Typedef的一切(至少在C(++))。

0

除了你已經列出的東西,我將涵蓋: -

  1. 版本控制策略 - 分公司/合併/簽到 - 提交政策等
  2. 評論標準 - 基於無論你在跟進您的應用程序
  3. 重構
  4. 單元測試基礎知識 - 尤其適合新生。
2

您提到的主題很好。如果你想提各只簡單地說,因此要添加其他人,你可以考慮一些(排名不分先後):

  • 自動化,自動化,自動化:無聊,重複的任務是更適合自動腳本比讓他們要求用戶注意。例如,大多數編碼標準(所有可以「機械地」檢查的)都必須通過腳本自動檢查(「lint-like」是他們的經典名稱),將代碼提交到存儲庫(如果您沒有良好的源代碼版本控制系統會放棄其他一切,並將所有的事情都集中在這一點上,當然,因爲它是唯一最關鍵的工具)。測試:自動化的,可自動重複的單元測試和集成測試,以及連續編譯工具可以隨時運行它們,這對於防止代碼庫中的意外中斷非常有效。
  • 強制性的,輕便的代碼審查(或結對編程):無碼應該永遠進入無其他人眼的代碼庫經審查並批准了它 - 不復制「棉絨般」的一部分,但檢查的東西這太難自動檢查 - 是明確和適當的標識符,具有可重複使用的東西重構已經做對,&ç

    • 正確使用的意見:他們不應該重複一下代碼已經清楚地說給任何人誰掌握了語言 - 他們應該增加有用的,簡潔的信息,否則不能馬上派上用場。 Ga的壞,好,並且在C最好的例子...:

    /*不好 - 事實上,很不好/ 我+ = K;/增加我由k */

    /*好,或至少體面;-) / i + = k;/微件數增長由thingamajig計數*/

    /*最好*/ widget_count + = thingamajig_count;

(無可奉告目前也沒有在最後一種情況下需要 - 這是遠遠總是可以有代碼和標識是相當那麼清晰,以絕對不需要評論,但是,在可行的情況,這是絕對最好! - )。

+0

亞歷克斯,謝謝隊友。非常感謝.. – user434043 2010-08-29 07:37:34

0

如果你希望你的培訓課程具有顯着的效果,那麼你想堅持的主題,你可以清楚地傳達每個主題的好處,而不僅僅是給他們抽象的規則。實際的數據和關於項目失敗的戰爭故事是因爲一些代碼被誤讀,錯誤難以發現,其他不好的做法等等,對於一些學生比一些沒有解釋的指導方法更令人難忘。

+0

戰爭故事:-)喜歡策略mate..cheers – user434043 2010-08-29 07:40:53