2009-12-01 56 views
4

IDE的目標是提高生產力。他們在這方面做得很好。重構,導航,內聯文檔,自動完成有助於極大地提高生產力。如何通過IDE鼓勵積極的開發人員行爲?

但是:每個工具都是武器。完全相同的IDE有助於生成塊代碼。一些IDE功能是產生錯誤代碼的邀請:代碼生成,代碼格式化工具,重構工具。

IDE的過度使用傾向於將開發人員從必要的細節中分離出來。 是一件好事,你可以開始工作但是在你職業生涯的某個時候,你必須能夠弄清楚如何開始一個過程。你可以忽略這個細節一段時間,最後他們對於編寫一個工作產品很重要(對比一下,在90%的時間裏,這些東西都是用螺栓連接起來的)。

您如何鼓勵其他開發人員使用IDE的積極行爲?這是一個與複製和粘貼一樣古老的問題。

爲了獲得正確的印象:開發者必須有最大的自由來調動他們的最大創造力和動力。他們可能會使用IDE和所有相關的工具。沒有人應該對他們施加嚴厲的措施。我不想去激勵和強迫某人做某事。良好的行爲必須得到鼓勵。如果你做錯了事情,它必須稍微癢一點。與SO「接受率」度量標準(以及聲譽)相同。你可以忽略它,但如果你遵循規則,生活會更好。

(該解決方案應該在一個給定的設置工作。你可以忽略的評論,改變人員或更多的教育作爲潛在的解決方案。)

回答

1

知道有什麼引擎蓋下回事。

知道你的IDE實際上正在調用編譯器。對它傳遞的標誌有一些瞭解。能夠從命令行調用編譯器。

瞭解運行系統。請注意啓動程序時使用或需要的標誌。能夠從命令行啓動程序。

3

訓練你的IDE,而不是受它的訓練。

設置代碼來格式化您(或您的團隊)所需的方式。甚至在有意義的情況下禁用它。我從來沒有見過一個IDE對準這樣的事情有標籤和空間的合理組合(其中\t顯然是製表符):

{ 
\tcout << "Hello " 
\t  << (some + long + expression + 
\t   to_produce_the_word(world)) 
\t  << endl; 
} 

像Java語言中,你無法避免的樣板。您擁有的最佳選擇是檢查生成的代碼,確保它與您手動編寫的代碼相同。根據需要進行修改。如果可能的話,配置您的IDE以生成您需要的確切代碼。 Eclipse在這方面相當出色。

0

其開放式的問題,但是...

我們有一個Eclipse格式文件,讓全體人民共享,讓大家都在同一個莊園格式化代碼。 (除了我們唯一的一個InteliJ人)。

每個人都共享一個字典文件。它有助於刪除代碼中的所有紅線。讓它看起來更乾淨,更具可讀性。

我在代碼上運行EMMA來找出誰沒有測試他們的代碼,然後呻吟他們。

我們面臨的主要問題是大多數團隊不知道IDE(日食)的所有功能/功能。不知道CTRL + O(兩次),或自動代碼gen。我所能做的'熱鍵精靈'就是不斷與他們分享我的知識,幫助他們提高工作效率。

我期待着我的問題是,他們儘可能自動生成的那一天。 而不是我發現錯誤,其中由於錯字而從getter方法返回錯誤的值。

0

嘗試僅使用文本編輯器進行開發(至少偶爾),並從命令行啓動編譯,測試等。

輸入命令會很快乏味,所以創建腳本或(甚至更好)學習rake,ant,msbuild。

如果IDE爲您生成代碼並且代碼生成非常重要(例如從xsd或wsdl生成代理類生成類),請嘗試瞭解如何從命令行運行代碼生成 - 然後鉤子代碼生成到一個版本(所以你永遠不會試圖編輯生成的代碼)。

自動生成代碼的想法很好,但它通常只是將您的代碼變成一團糟。如果您的代碼較少,則較小的格式不一致就不是什麼大不了的事情。將代碼質量工具添加到您的構建樣式檢查,類和方法大小,複雜性,代碼重複,測試覆蓋率等(complexian,simian,flog,flay,ndepend,ncover等)將阻止IDE生成的代碼。

1

我覺得在任何人使用任何類型的RAD工具之前,他們應該可以在記事本中從頭開始編寫應用程序(從頭開始將框架組件連接在一起):可能在比當前技術早10年的計算機上:P 。不瞭解範式/框架的來龍去脈會導致新手開發人員的糟糕代碼,這些開發人員只能在他們開發的平臺上以一英里高的速度學習東西。也許他們應該使用一些技術來做到這一點 - 也就是說,GTK編程與MVC完全不同,後者也與SWING和.NET不同。

我認爲最終結果應該是一個開發人員,他們在思考他們如何在特定的RAD環境中編寫接口之前,會考慮問題的細節。