書評:《程式是給自己看的還是給別人看的》
不 知道各位程式設計師有沒有用自己的姓名的拼音字母作為檔案目錄名或程式名的經歷。從我對此觀察來看,很多人都是這樣做的。他們為什麼這樣做?我發現除了這樣做 可以醒目地找到目錄和檔案之外,更重要的是反應了程式設計師的私有性,他強調了程式的私有。我們常常會發現有一個有趣的現象:程式設計師從不主動地把自己程式給其 他程式設計師去閱讀(除非上級要求、工作移交),程式設計師也不想看別人的程式,抱怨看不懂別人的程式!程式設計師讀不到別人的程式,程式設計師不想將程式給別人看-〉程式設計師就得不到別人對程式意見-〉程式設計師就不會改程式序的可閱讀性-〉程式可讀性低-〉其它程式設計師就看不懂-〉看不懂就不願意看-〉看的程式就少-〉閱讀水平降低。這樣導致程式設計師只能讀懂自己的程式,其閱讀他人程式的水平普遍很低。
程式設計師一旦將程式變成了日記,一旦只給計算機閱讀,這樣一來我們這些外人就無法從程式本身中看到程式設計師的水平了。我們只能根據他們開發的專案、承擔的職能等外在的表現來判斷他們的水平了。而這些往往不如程式來得直接。我認為存在這個現象有以下原因:
第一、面子
程 序員是很有自信的人群,上面文章我也分析過了自信的來源。這種自信反映在程式設計上是就會認為自己編寫程式是最好的,即使知道自己編寫的水平很差,也不會告知 別人。這是程式設計師面子在作怪。他們不想進行比較和競爭,各自抱著自己的程式在那裡自娛自樂。而且,業界也容忍這個現象。導致程式設計師理所當然地認為程式是自 己編的是自己的,想給別人看就給別人看,想不給就不給。尤其是新手、那些自己感覺水平不行的程式設計師更加不願亮出程式出來。怕丟面子!
第二、 保密
還有一些程式設計師則認為程式裡包含了解決問題的演算法和技巧,是自己的辛勤勞動,是自己的智慧財產權。如果給人看了,別人就會無償地拿了過去,自己的勞動就會白費。所以,他們不願意公開自己的程式。
如 果真的這樣,那我是非常理解的。但是,就我的經驗來看絕大部分程式設計師和絕大部分程式都是很難到達可以達到智慧財產權這個層面的。回首各自程式設計有哪些是別人不 能編的呢?有哪些是別人不能超越的呢?即使有點小的技巧也不必藏而不露吧。好的程式設計師是不會去背這些包袱去獲取新的進步的。
說到底還是個程式設計師程式私有的思想在作怪。
第三、環境
有 時候我和程式設計師談到這個問題時,他們認為不是自己不願意給別人看,而是別人不想看,自己想看人家不給看。這裡確實是一個環境問題,沒有人要求程式設計師這樣 做。這個程式設計環境並不鼓勵程式公開,不鼓勵程式的優化,不鼓勵程式的共享,反而使哪些程式設計水平差的得到了偽裝,那些程式設計水平高的得到淡化。由於沒有制度 上、管理上的明確要求,這個問題就會長期存在。而我認為,程式設計師既然是個性張揚的群體,那為什麼不能從自身做起,以給別人看的要求編寫程式呢?不能以學習 的態度請教程式寫的好的同行呢?學習是獲取的過程,也是將來給予的基礎。只要有利於程式水平的提高,我們程式設計師都可以去嘗試,用不了多久我們環境就會好起 來。我們的程式交流和技術交流就會好起來,我們程式設計師的心胸就會開廣起來。
就 我而言,我編過無數個程式,但我從來沒有保留過自己的程式,我的程式都是給我的同行看的、保留的。因為,我認為程式是給別人看的。雖然是自己寫的,但是隻 有給別人看,才能發揮其真正的價值,就如同一篇文章只有給讀者閱讀,才能評價出文章的好壞。唯有給別人看,才能促使自己提高程式的可讀性、才能獲得別人的 批評和建議、才能改程式序的不足、才能提高自己的程式設計水平。
我 建議程式設計師要養成“程式不是給自己看的,是給別人看的”習慣,尤其是新手,從開始就要養成這個習慣,要放下面子,請別人看看自己的程式,請別人提提意見, 這樣自己的水平才能提高,同時,自己也要學著看別人的程式,學會向別人提出意見和建議,學會從別人的程式中學到好的程式設計風格和程式設計技巧。通過這兩方面的努 力,形成一個程式設計師之間互動的氛圍,程式設計師的水平一定會有一個很大的提高。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15783504/viewspace-624700/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式碼是寫給人看的,不是寫個機器看的
- “傻子”還是“瞎子”?那些遊戲裡的黃油漆是給誰看的?遊戲
- 寫給自己看的Typescript起步TypeScript
- 寫給自己看的 Git 命令指北Git
- 寫給自己看的面試題整理面試題
- 寫給自己看的 Flex 佈局Flex
- 寫給自己看的三欄佈局的演示
- 寫給自己看的在 Vue 下使用 Typescript 指北VueTypeScript
- 框架的基礎使用 (持續更新給自己看)框架
- 《寫給大家看的設計書》讀書筆記筆記
- 改和看別人的程式碼是一種什麼感受
- 你喜歡觀看別人是如何程式設計的嗎?程式設計
- asm的相關操作,給自己看的,三思的ASM
- 這是給開發人員的彌天大謊還是至理名言?
- 寫給自己看的Linux運維基礎(三) - MonoLinux運維Mono
- 寫給自己看的木偶元件和智慧元件的啟示元件
- 《寫給大家看的web設計書》讀書筆記Web筆記
- 寫給自己看的釋出react靜態資源的方法React
- 寫給自己看的體重記錄板使用指南
- 疫情帶給產業的是危機還是商機?產業
- 怎樣看手機是64位的還是32位的?
- 這是給開發者的彌天大謊還是至理名言?
- 給程式設計師看的Javascript攻略 - Prototype (上)程式設計師JavaScript
- 給程式設計師看的Javascript攻略 - Prototype (下)程式設計師JavaScript
- AI——會給人們帶來更多的機會還是危機?AI
- 給初學者看的 shuf 命令教程
- 寫給自己看的Linux運維基礎(一) - 系統基礎Linux運維
- tomcat的執行的時候,GC進行記憶體回收,回收後的記憶體是還給OS還是還給JVMTomcatGC記憶體JVM
- win10怎麼看硬碟是機械還是固態_win10看電腦磁碟是固態硬碟還是機械盤的方法Win10硬碟
- “嘿,機器,你是怎麼做好翻譯的呀?” “來,我畫給你看!”
- 給Java程式猿們推薦一些值得一看的好書Java
- 寫給 iOS 開發者看的 HTTPS 指南iOSHTTP
- 《寫給大家看的設計書》作者Robin Williams:我永遠是一位教師(圖靈訪談)圖靈
- 寫給自己看的面試題整理-演算法&某東筆試題面試題演算法筆試
- 位,位元組,16進位制關係,以防忘記(給自己看的)
- 給程式設計師看的Javascript攻略(完結)- 非同步程式設計師JavaScript非同步
- 寫給 Python 程式設計師看的 Rust 介紹Python程式設計師Rust
- 選擇PHP是自學還是去PHP培訓班的看這裡PHP