- 代碼的藝術:用工程思維驅動軟件開發
- 章淼
- 699字
- 2022-05-05 21:55:54
2.2.4 寫代碼并非易事
“寫代碼容易嗎?”
我曾多次在授課現場問過這個問題。有人說,容易。也有人說,不容易。我會接著問:
“寫代碼為什么不容易?”
現場觀眾給出了不同的答案:
“因為不好調試。”
“因為想清楚邏輯很困難。”
……
寫代碼不是容易的事,具體原因如下。
(1)寫代碼是從“無序”變為“有序”的過程。計算機中所運行的程序是按照嚴格的邏輯來執行的,而現實世界紛繁復雜,其中的秩序并不是一眼就可以辨識的,需要我們把它整理為有序的結構。
(2)寫代碼將“現實世界中的問題”轉化為“數字世界中的模型”。程序是數字世界對現實世界的一種映照,其中涉及對現實世界的抽象和建模。
(3)寫代碼是一個“認識”的過程。在寫代碼的過程中,原來所“未知”的問題,在代碼完成后變為“已知”。對于一項新業務,在開始時我們可能并不了解,但通過逐步分析,逐漸有了更深入的理解,在這個認識的基礎上才可能開發出對應的軟件。
因此,在寫代碼的過程中,軟件工程師需要具備以下幾個關鍵能力。
(1)把握問題的能力。軟件工程師每天都面對大量的問題,需要在工作中不斷辨識問題,并確認其中的重要問題。
(2)建立模型的能力。對于一個軟件來說,具體的實現機制是“底層”,所要實現的“模型”才是“上層”。軟件工程師需要不斷把現實問題轉化為數字世界的模型。
(3)溝通協作的能力。軟件開發不是一個人的工作,需要和研發團隊的同伴進行溝通協作,也需要和軟件的相關方(如客戶、用戶)進行溝通,還可能需要和其他相關團隊進行配合。溝通協作的效率和質量,極大地影響著軟件研發的效率和質量。
(4)編碼執行的能力。軟件工程師最終需要通過編碼獲得可執行的軟件,因此在編碼方面必須具備一定的基本功。