編程給我?guī)砹耸裁矗?/h1>

原文:http://www.reibang.com/u/511ccb5a2012

文章目錄

為什么寫這篇文章宏邮?

程序設(shè)計過程

程序編碼過程

程序測試過程

1

為什么寫這篇文章佳头?

我發(fā)現(xiàn) 很多程序員都不想做一輩子的程序員乙帮,包括我周圍的程序員朋友也跟我說 當(dāng)他看到公司來了一名四十多歲的程序員時关贵,他心情是焦慮的棱诱,因為他不想自己四十多歲了還坐在電腦面前寫代碼臼疫。

聽了之后砰琢,我不知道該怎么接?

這種想法會產(chǎn)生一個阻力履植,這個阻力會阻礙我們成為更優(yōu)秀的程序員计雌。當(dāng)然這種想法或許已經(jīng)透漏出 成為優(yōu)秀的程序員 已經(jīng)沒有誘惑力了。

那么静尼,既然沒有誘惑力白粉,為何你還在苦逼編程?

我寫這篇文章并不是希望你轉(zhuǎn)行鼠渺,而是想說 其實編程不僅僅是編程。

不管從事什么行業(yè)眷细,也不管學(xué)的什么專業(yè)拦盹,其實它們之間都是互通的。

例如編程溪椎,不要只看編程本身普舆,看到更多的應(yīng)該是在編程過程中如何提升我們的認(rèn)知的恬口。或者 如何通過編程來提升我們的認(rèn)知沼侣?

根據(jù)芒格的格柵理論祖能,我認(rèn)為就是所謂的跨界學(xué)習(xí)。也就是說 不同的專業(yè)學(xué)術(shù)蛾洛,都有它的思想理念养铸,掌握這些思想理念,將其納入自己的思維格柵中轧膘,它能幫助我們在多個維度來分析問題钞螟,從而作出更理性的決策。

我目前差不多近三年的編程經(jīng)驗了(不多也不少吧)谎碍,下面我分享一下 編程給我?guī)砹四男┧季S上的提升鳞滨。

2

程序設(shè)計過程

在一開始程序編寫過程也許不存在設(shè)計過程。但慢慢會發(fā)現(xiàn) 如果沒有良好的設(shè)計蟆淀,程序在未來維護起來是很困難的拯啦。

甚至不需要等到維護階段,在測試過程中 就會發(fā)現(xiàn)各種偶然性問題熔任,偶然性問題的根本原因不是出自偶然提岔,而是程序流程混亂導(dǎo)致的。

想到這種問題的根本原因在于:

一種思維模式:

程序的一種特征是 指定一個輸入 必然會有一個對應(yīng)的輸出笋敞。程序是單純的碱蒙。

所以 一個錯誤的輸出 肯定來源于一個錯誤的輸入。

而程序又是一段一個接一個的執(zhí)行過程夯巷,所以錯誤的輸出 肯定是因為這個流程中出了問題赛惩。

這種思維方式對我們測試程序很有幫助。

這應(yīng)該算是一種看待世界的方式既:

如果要解決問題 就要找到問題的根本原因趁餐。

就像我們分析源碼的目的一樣喷兼,“知其然 也要知其所以然”,相信所有事物運轉(zhuǎn)正常都有它內(nèi)在原理后雷。

偶然性問題也許是因為:

它也許不是真的能工作

你依靠的邊界條件也許只是一個偶然季惯,在不同情形下 它的表現(xiàn)可能就會不同

也許你都不知道它為什么能工作

...

解決偶然性問題的方法就是在編碼之前做好程序的設(shè)計工作。

主要設(shè)計包括:

程序結(jié)構(gòu)設(shè)計

這種設(shè)計 可以提升我們的抽象思維臀突。

這種結(jié)構(gòu)設(shè)計 就是我們經(jīng)常說到的 模塊化勉抓、組件化等架構(gòu)相關(guān)的內(nèi)容。

它需要我們將一個復(fù)雜的東西 拆分成具體可實施的小模塊候学。

這也是一種思維模式:

將復(fù)雜問題 分解成多個可解決的問題藕筋。

這種思維模式同樣也可以運用在其它領(lǐng)域。

如何運用的呢梳码?

碰到一個難解的問題隐圾,就試著分解這個問題伍掀,分解到具體可以實施的地步,再一個一個的解決暇藏。

模塊化蜜笤、組件化等架構(gòu)設(shè)計的目的是為了解藕。解藕的目的是便于管理盐碱。

這種思維模式可以運用到管理中把兔,就是我們經(jīng)常見到的 各司其職。

上到國家管理 下到公司的管理甸各,都是如此垛贤。

程序流程設(shè)計

簡單來說 就是如何讓程序跑起來正常、可控趣倾。

首先就是如何保證正常聘惦,比如:處理同步異步問題的方法。

讓整個流程是正常的儒恋,也就是上面所說的 非偶然性的正確輸出善绎。

可控,在以后新增诫尽、更改需求也能保證流程正常禀酱。

這里就涉及到了各種設(shè)計模式,以及一些編程語言

(很多編程語言之所以能提升效率 我認(rèn)為就是它的設(shè)計能讓程序更加可控牧嫉,例如:函數(shù)式編程里函數(shù)作為一等公民剂跟,可以像普通變量一樣傳遞,讓我們省心去設(shè)計一些復(fù)雜的東西酣藻,因為每多寫一行代碼 可能就會多一個bug)

在其它領(lǐng)域中的應(yīng)用:

比如:工廠的流水線設(shè)計曹洽、各種流程手續(xù)的辦理等。

正常 就類似于 流水線能夠正常運轉(zhuǎn)辽剧;

可控 就類似于 在流水線中間加入一個環(huán)節(jié)或者減少一個環(huán)節(jié) 不會干擾到其它環(huán)節(jié)送淆。

3

程序編碼過程

有了設(shè)計過程,編碼過程就應(yīng)該是按照設(shè)計合約來完成的怕轿。當(dāng)然設(shè)計也不能保證完美無缺偷崩,所以在編碼過程中 如果發(fā)現(xiàn)設(shè)計有問題或者是設(shè)計過程未想到的場景,應(yīng)該更新設(shè)計(剛開始做設(shè)計會經(jīng)常出現(xiàn)設(shè)計不完善問題)撞羽。

在這個過程中能讓思維更加謹(jǐn)密阐斜。

在其它領(lǐng)域也一樣,這種謹(jǐn)密的思維 能減少出錯的機率放吩。

4

程序測試過程

我們程序員都知道智听,不管代碼寫得多優(yōu)雅、流程多風(fēng)騷渡紫,都需要來一場測試拼殺到推。

測完得到了一堆bug,往往能給我們更多反思惕澎,測試之前的自信哪來的莉测?

或者是,

我就知道會有這么多bug唧喉,因為我寫得爛嘛~

然后就是一個一個的解決它捣卤,BUT,沒那么容易

在 bug 的解決過程中八孝,你又會發(fā)現(xiàn) 如果一個問題解決方法不對 這個解決方法又會產(chǎn)生新的問題董朝。

也或許是因為對問題的定義不對而導(dǎo)致的。

所以說干跛,問題的定義決定了問題的解決方法子姜,而問題解決方法又決定了新問題的來源。

所以 “我們有必要對方案實施后可能產(chǎn)生的后果進行預(yù)判”

但 就算進行了預(yù)判楼入,之后又可能出現(xiàn)其它問題哥捕。

不過 就算永遠(yuǎn)無法確定已經(jīng)找到的問題定義是正確的,但是永遠(yuǎn)不要停下來尋找正確定義的腳步

這是不是也算一種人生的態(tài)度呢嘉熊?

回到開頭遥赚,為什么 不想做一輩子程序員?這個問題的本質(zhì)是什么阐肤?

是因為程序員太累凫佛?還是覺得做一輩子程序員沒出息,工資太低孕惜?或者是覺得自己應(yīng)該干一番大事愧薛,而做程序員格局太小了?

問題的本質(zhì)其實就是在于理想與現(xiàn)實之間的區(qū)別诊赊。

如何解決這個問題厚满,就看你怎么定義這個問題了。

我覺得編程確實可以給我們程序員帶來很多提升碧磅,能有多大提升 這就在于你有多在意它碘箍。而把編程思維納入到我們自己的思維格柵中 不管未來從事什么行業(yè),都是很有幫助的鲸郊,所以說了這么多 其實就是好好的對待你的代碼吧丰榴。哈哈~

八戒推薦

重磅來襲!秆撮!Docker視頻教程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者

  • 序言:七十年代末四濒,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌盗蟆,老刑警劉巖戈二,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異喳资,居然都是意外死亡觉吭,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進店門仆邓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鲜滩,“玉大人,你說我怎么就攤上這事节值♂愎瑁” “怎么了?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵搞疗,是天一觀的道長嗓蘑。 經(jīng)常有香客問我,道長贴汪,這世上最難降的妖魔是什么脐往? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮扳埂,結(jié)果婚禮上业簿,老公的妹妹穿的比我還像新娘。我一直安慰自己阳懂,他們只是感情好梅尤,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著岩调,像睡著了一般巷燥。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上号枕,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天缰揪,我揣著相機與錄音,去河邊找鬼葱淳。 笑死钝腺,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的赞厕。 我是一名探鬼主播艳狐,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼皿桑!你這毒婦竟也來了毫目?” 一聲冷哼從身側(cè)響起蔬啡,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎镀虐,沒想到半個月后箱蟆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡粉私,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年顽腾,在試婚紗的時候發(fā)現(xiàn)自己被綠了近零。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诺核。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖久信,靈堂內(nèi)的尸體忽然破棺而出窖杀,到底是詐尸還是另有隱情,我是刑警寧澤裙士,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布入客,位于F島的核電站,受9級特大地震影響腿椎,放射性物質(zhì)發(fā)生泄漏桌硫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一啃炸、第九天 我趴在偏房一處隱蔽的房頂上張望铆隘。 院中可真熱鬧,春花似錦南用、人聲如沸膀钠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肿嘲。三九已至,卻和暖如春筑公,著一層夾襖步出監(jiān)牢的瞬間雳窟,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工匣屡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留封救,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓耸采,卻偏偏與公主長得像兴泥,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子虾宇,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容