編程難度在哪?
來源:湖北國菱計(jì)算機(jī)科技有限公司-荊州網(wǎng)站建設(shè)-荊州軟件開發(fā)-政府網(wǎng)站建設(shè)公司
時(shí)間:2018-01-28
做出來容易,做正確難。
做出來指沒bug且完成需要的功能,這是最基本要求。正確,不是指功能正確,而是指程序可以很容易推理理解,理解意圖, 理解如何做到的,理解為什么系統(tǒng)不會(huì)出錯(cuò),理解為什么要這么做。正確是現(xiàn)在怎么寫不會(huì)挖坑害將來的人,現(xiàn)在怎么寫能讓別人1年后看你代碼時(shí)候不可能理解錯(cuò)你現(xiàn)在的意圖,現(xiàn)在怎么寫能在別人將來犯錯(cuò)的時(shí)候提示他你錯(cuò)了。
編程是給未來的未知人講故事
你無法知道將來這個(gè)人是誰,他都懂什么,他經(jīng)歷過什么,這個(gè)系統(tǒng)將來已經(jīng)是什么樣子了。我們需要在這種無知,缺乏信息的情況下做決定,從千萬種把這件事做出來的方法里,選出你覺得最能把這個(gè)故事給講好的那種方式,把故事寫下來。編程是一種溝通,溝通是一種藝術(shù),用程序跨越時(shí)空之溝通則是一門屬于程序員的特有的藝術(shù)(就好比數(shù)學(xué)家用數(shù)學(xué)公式來溝通)。
簡單最美
不要隨意添加功能,用最簡潔的代碼完成功能。壞的決定會(huì)導(dǎo)致壞的決定,甚至導(dǎo)致人們?nèi)ヅで粋€(gè)好的決定去迎合壞的決定。垃圾會(huì)制造垃圾,一個(gè)放在系統(tǒng)里不經(jīng)清理的額外復(fù)雜度,會(huì)導(dǎo)致更多的額外復(fù)雜度的生成。學(xué)會(huì)簡化業(yè)務(wù)邏輯。
每個(gè)人甚至同一個(gè)人的不同時(shí)刻都有制造額外復(fù)雜度的缺陷,當(dāng)自己看以前作品覺得是垃圾,說明你已經(jīng)進(jìn)步了。