官术网_书友最值得收藏!

2.2.4 寫代碼并非易事

“寫代碼容易嗎?”

我曾多次在授課現場問過這個問題。有人說,容易。也有人說,不容易。我會接著問:

“寫代碼為什么不容易?”

現場觀眾給出了不同的答案:

“因為不好調試。”

“因為想清楚邏輯很困難。”

……

寫代碼不是容易的事,具體原因如下。

(1)寫代碼是從“無序”變為“有序”的過程。計算機中所運行的程序是按照嚴格的邏輯來執行的,而現實世界紛繁復雜,其中的秩序并不是一眼就可以辨識的,需要我們把它整理為有序的結構。

(2)寫代碼將“現實世界中的問題”轉化為“數字世界中的模型”。程序是數字世界對現實世界的一種映照,其中涉及對現實世界的抽象和建模。

(3)寫代碼是一個“認識”的過程。在寫代碼的過程中,原來所“未知”的問題,在代碼完成后變為“已知”。對于一項新業務,在開始時我們可能并不了解,但通過逐步分析,逐漸有了更深入的理解,在這個認識的基礎上才可能開發出對應的軟件。

因此,在寫代碼的過程中,軟件工程師需要具備以下幾個關鍵能力。

(1)把握問題的能力。軟件工程師每天都面對大量的問題,需要在工作中不斷辨識問題,并確認其中的重要問題。

(2)建立模型的能力。對于一個軟件來說,具體的實現機制是“底層”,所要實現的“模型”才是“上層”。軟件工程師需要不斷把現實問題轉化為數字世界的模型。

(3)溝通協作的能力。軟件開發不是一個人的工作,需要和研發團隊的同伴進行溝通協作,也需要和軟件的相關方(如客戶、用戶)進行溝通,還可能需要和其他相關團隊進行配合。溝通協作的效率和質量,極大地影響著軟件研發的效率和質量。

(4)編碼執行的能力。軟件工程師最終需要通過編碼獲得可執行的軟件,因此在編碼方面必須具備一定的基本功。

主站蜘蛛池模板: 武隆县| 杭州市| 吉木萨尔县| 杭锦旗| 白朗县| 集安市| 山东| 句容市| 遂宁市| 三河市| 玉屏| 科尔| 龙陵县| 甘洛县| 喀什市| 和平县| 威远县| 连城县| 海安县| 营口市| 三门县| 萨嘎县| 贵港市| 宿州市| 油尖旺区| 敦煌市| 肥城市| 大宁县| 南澳县| 原平市| 马山县| 高平市| 淮阳县| 奇台县| 高青县| 永平县| 芦山县| 车致| 临泉县| 云阳县| 奎屯市|