如何成為優秀開發人員 6 正確地做事(善用工具)

2021-09-30 03:44:51 字數 2543 閱讀 3860

俗話說「工欲善其事,必先利其器」,今天我們來說說和開發工具有關的話題。由於開發過程中會用到的工具多種多樣,根據「二八原理」,我只挑選和開發最密切相關的少數幾種工具來聊一聊。

編輯器

編輯器顯然是用的最頻繁的工具了(尤其是對於經常寫**的人),但是很大一部分人不善於使用編輯器。因此我先來說一下對編輯器使用的一些體會。順便提一下,如果你連盲打都沒過關,請先去學打字,再回來看這個帖子。

1、字型的配置

對於寫**而言,字型的選擇是非常重要的(看起來舒服的字型起碼能保護眼睛)。首先必須選擇一種等寬的字型(比如fixedsys、courier new);其次該字型必須能夠清楚地區分如下幾種容易混淆的字元,避免閱讀**的時候看錯:

數字0 和 字母o

數字1 和 大寫字母i 和 小寫字母l 和 或運算子|

數字2 和 字母z

數字9 和 小寫字母q

乘號* 和 字母x

分號; 和 冒號:

2、顏色的設定

你使用的編輯器必須支援自定義的詞法高亮(詞法著色)。對詞法高亮進行設定時,至少要把:「**注釋、關鍵字、字串、數字」這幾種語法要素用不同的顏色區分開。當然,如果還能根據「類名、函式名、變數名等」進行著色,那就更好了。

3、快捷鍵

熟練地使用快捷鍵能大大提高編輯的效率。因為你的手不需要離開鍵盤去操縱滑鼠。而且當編輯的文字比較大時,有些編輯命令即使用滑鼠操作也挺費勁(比如全選、移動到檔案尾),不如快捷鍵方便。

所以,你使用的編輯器必須支援快捷鍵(這個大多數都能做到),而且還必須支援編輯命令和快捷鍵的繫結(也就是自己設定某個編輯命令對應的快捷鍵),便於根據個人喜好設定快捷鍵。

4、其它功能

還有一些比較瑣碎的功能,比如:**自動縮排、自動補全、動態提示等等。最後,如果你需要經常在不同的作業系統上進行工作,那你的編輯器還必須得支援跨平台才行。

雖然說了這麼多條條框框,但是符合全部要求的軟體並不難找,比如emacs、vim、eclipse等軟體都可以滿足上述的編輯功能,具體選哪個就看各自的偏愛了。

源**管理工具(版本管理軟體)

為了打字方便,以下簡稱rcs(revision control system)。

通過rcs的使用狀況,可以看出乙個開發團隊在軟體工程方面的成熟度,因此我們接下來要說說rcs的問題。如果你所在的開發團隊從來不使用rcs進行**的版本控制,那我建議你趕緊考慮跳槽。

我觀察下來,發覺rcs主要有如下幾種誤用的情況:

1、不正確的提交頻度

有很多新手不習慣使用rcs,很少進行**的提交。有些人甚至到專案快結束時還沒有提交過一行**。結果導致整個rcs形同虛設。

還有一些人則走向另乙個極端,頻繁提交**。有些人每改完乙個檔案就提交一次,還有些人甚至把修改一半,尚不能編譯通過的**也提交到rcs。

我個人認為,正確的提交頻度應該分兩種情況:在編寫功能**時,每完成乙個功能點,並且自己經過了自測之後,提交一次;在除錯的時候,每修復乙個bug,提交一次。這樣能夠保證提交到rcs的**都是能編譯通過的(詳見每日構建系列),並且業務邏輯上也是相對完整的(對於每日構建後的測試很重要)。

2、提交時不寫注釋

很多人提交**時不寫注釋,將來再想到版本歷史裡面找**就猶如大海撈針般困難。比如在我經手的**中,有些源**檔案歷時3年,提交次數上百次,如果提交時不寫注釋,日後根本沒法找。

3、不做**基線(baseline)、不做**分支(branch)

在正規的開發團隊,每當有乙個版本發布(release)並交付給使用者使用時,都需要在rcs中製作乙個基線,以便於進行相應的bug跟蹤和補丁製作。因此,諸如做基線之類的事情,屬於整個團隊的集體行為,需要由team leader牽頭來搞。

假如乙個開發團隊從來不做**基線或者**分支,僅僅是把rcs當成乙個原始檔的備份工具來用,那至少說明這個團隊的team leader在軟體工程管理方面非常失敗。

用於除錯/測試的執行輔助工具

執行輔助工具對於開發效率的影響也很大。一般來說,你自己的開發機器上要有盡可能**(和使用者的環境相似)的執行環境,並且執行輔助工具能夠有效地發現執行時的一些不正常的資訊。這樣有利於讓bug在交付給使用者之前盡早暴露出來。

如果你是web開發人員,那麼你自己肯定要安裝好常用的瀏覽器(至少包括ie和firefox)。對於ie,還得設定成顯示指令碼錯誤通知。

如果你主要開發windows應用程式,你手頭肯定要備好諸如:depends(visual c++自帶)、process explorer等工具,便於檢視程序、執行緒、動態庫、堆記憶體等執行時資訊。

如果你是搞手機應用的,那麼你至少得有目標系統的模擬器軟體(如果能配乙個真機當然更好)。

如果你主要進行跨平台方面的開發,那麼諸如vmware之類的虛擬機器軟體是必不可少的。

......

限於篇幅,今天就只說這些。其它我未提及的工具,大夥兒自己可以舉一反三。下乙個話題,打算說說「善用自動化」。

如何成為優秀開發人員 4 做正確的事

一般來說,優秀的開發人員往往具有較高的效率。我這裡提到的效率包括兩方面 做正確的事 和 正確地做事 並且 做正確的事 比 正確地做事 更加重要。先做自己喜歡的事情,再做自己不喜歡的事情 先做緊急的事情,再做不緊急的事情 先做容易做的事情,再做不容易做的事情 先做自己了解 熟悉的事情,再做自己不了解 ...

如何成為優秀開發人員 4 做正確的事

一般來說,優秀的開發人員往往具有較高的效率。我這裡提到的效率包括兩方面 做正確的事 和 正確地做事 並且 做正確的事 比 正確地做事 更加重要。我們先來看一些反面教材。據相關研究機構統計,大部分人 80 以上 具有如下不好的工作習慣 先做自己喜歡的事情,再做自己不喜歡的事情 先做緊急的事情,再做不緊...

如何成為優秀的開發人員?

對於每個從事開發工作的程式設計師來說,成為一名優秀的開發人員或許是他們一直所最追求的目標。就如何成為一名優秀的開發人員,alan johnson發表了一篇博文 what makes a great programmer?csdn對此文進行了翻譯,全文如下 事情猶如發生在昨天,那是在2000年,par...