淺談「十條不錯的編程觀點」

     在Stack Overflow上有這樣的一個貼子《What’s your most controversial programming opinion?》,翻譯成中文就是「你認爲最有爭議的編程觀點是什麼?」,不過,在400多個主回貼,以及千把個子回貼中,好像並非頗有爭議,而是令 人至關的茅塞頓開,下面羅列一些,並經過我本身的經歷和理解發揮了一些,但願對你有幫助。
1) The only 「best practice」 you should be using all the time is 「Use Your Brain」.
惟 一的「Best Practice」並非使用各類各樣被前人總結過的各類設計方法、模式,框架,那些著名的方法、模式、框架只代碼贊同他們的人多,並不表明他們適合你, 你應該更多的去使用你的大腦,獨立地思考那些方法、模式、框架出現的緣由和其背後的想法和思想,那纔是「best practice」。事實上來講,那些所謂的「Best Practice」只不過是限制那些糟糕的程序員們的破壞力。
2)Programmers who don’t code in their spare time for fun will never become as good as those that do.
如 果你對編程沒有感到一種快樂,沒有在你空閒的時候去以一種的輕鬆的方式去生活,不管是編程,仍是運動,仍是去旅遊,只要你在沒有從中感到輕鬆和愉快,那麼 你只不過是在應付它們。而你無時無刻不紮在程序堆中,這樣下來,就算是你是一個很是聰明,很是有才華的人,你也不會成爲一個優秀的編程員,要麼只會平平凡 凡,要麼只會成天紮在技術中成爲書呆子。固然,這個觀點是有爭議,熱情和能力的差距也是很大的。不過咱們能夠從中汲取其正面的觀點。
3)Most comments in code are in fact a pernicious form of code duplication.
註釋應該是註釋Why,而不是How和What,參看《惹惱程序員的十件事》,代碼告訴你How,而註釋應該告訴你Why。但大多數的程序並不知道什麼是好的註釋,那些註釋其實和code是重複的,毫無心義。
4)XML is highly overrated
XML可能被高估了。XML對於Web上的應用是不錯的,可是咱們把其用到了各類地方,好像沒有XML,咱們都不會編程了。
5)Not all programmers are created equal
這 是那些junior經理或是流程愛犯的錯,他們老是認爲,DeveloperA == DeveloperB,只要他們的title同樣,他們覺得他們的能力、工做速度、解決問題的方法,掌握的技能等等都是同樣的。呵呵。更扯的是,在某些時 候,就算是最差的程序員,由於Title,他們也會認爲其比別人強十倍,這就是很表面的愚蠢的管理。
6)」Googling it」 is okay!
不 能否認,查找知識是一種能力。但Google只會給你知識,並不會教給你技能。那裏只有「魚」,沒有「漁」,過分的使用Google,只會讓你愈來愈離不 開他,你愈來愈須要要它立馬告訴你答案,而你愈來愈不會本身去思考,本身去探索,去專研。若是KFC快餐是垃圾食品對咱們的身體沒有好處,那麼使用 Google也一種快餐文化對咱們的智力發展大大的沒有好處。由於咱們過分地關注了答案,而不是尋找答案的技術和過程。
7)If you only know one language, no matter how well you know it, you’re not a great programmer.
如 果你只懂一種語言,準確的說,若是你只懂一類語類,如:Java和C#,PHP和Perl,那麼,你將會被侷限起來,只有瞭解了各類各樣的語言,瞭解了不 同語言的不一樣方法 ,你纔會有比較,只有了比較,你纔會明白各類語言的長處和短處,纔會讓你有更爲成熟的觀點,並且不成天和別的程序在網上鬥嘴爭論是Windows好仍是 Unix好,是C好仍是C++好,有這點工夫能幹好多事了。世界由於不一樣而精彩,只知道事物的一面是有害的。
8)Your job is to put yourself out of work.
你 的工做不是保守,那種教會徒弟,餓死師父的想法,不可是至關短淺的,並且仍是至關腦殘的。由於,在計算機世界裏,你掌握的老技術越多,你就越沒用,由於技 術更新的太快。你對工做越保守,這個工做就愈來愈離不開你,你就越不越不能抽身去學新的東西,你也就愈來愈OUT了。記住:If you can’t be replaced then you can’t be promoted!
9)Design patterns are hurting good design more than they’re helping it.
很 多程序員把設計模式奉爲天神,他們過分的追求設計模式以致都都忘了需求是什麼,結果整個系統設計被設計模式搞得亂七八糟,咱們叫這種編程爲「設計模式驅動 編程」,正如第一點所說,若是你不懂得用本身的大腦思考的話,知其然,不知因此然的話,那麼你不但得不到其好處,反而受其所累。
10)Unit Testing won’t help you write good code
其 實,unit test  的主要目的是,爲了防止你不會由於一個改動而引入Bug,但這並不會讓你能寫出更好的代碼。這隻會讓你寫出不會出錯的代碼。同第一點,這樣的方法,只不 過是防止糟糕的程序員,而並非讓程序員或代碼質量更有長進。反而,程序員一般會借用「經過Unit Test」來爲本身代碼作辯解,而此時,Unit Test Report成了一種託辭。

最後,順便說一下,之前去那個敏捷的公司面試,發現那個公司的某些技術人員中毒不淺,具體表如今上述的1)9)10)觀點上,過份地迷信了best practice,Design Patterns和Unit Testing。
本文轉自互聯網:
程序員

相關文章
相關標籤/搜索