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