softnshare / candcpp

C & C++ 技術討論/知識管理共筆
https://softnshare.wordpress.com/slack/cc/
32 stars 5 forks source link

Open/closed principle #14

Open maoyang opened 8 years ago

maoyang commented 8 years ago

網址 https://www.facebook.com/luba.tang/posts/10210007355689417

所有的 C++ programmer 都應該被砍斷雙手,直到認識 OCP 之後才能接起來

大家有其他想法嗎?

mht commented 8 years ago

不反對,卻有些想法。

要砍也得等升到中班(一年以上,二年保險一點)再砍,畢竟 C++ 入門門檻偏高,肯學已經很好,太快把人嚇跑,缺工了找誰要?(不過,前輩寫的是 “C++ Programmer” ,該是指有經驗的開發者,非新手)

OCP (SOLID 裡頭的 O)或 Design Pattern 其實不限於特定程式語言,前輩的重點應該是 OCP,而非 C++ Programmer。

以此衍生,若要求「每個程式設計師都應該把 SOLID, Design Pattern 等等等等概念弄懂、熟用」,我舉雙手雙腳贊成。但是,「程式設計師養成」,我不認為一開始就要強灌這些所謂的精華給剛萌芽的新生軟工。我甚至認為這麼做是 B>Z。

先教招式(語法、計概),過了基本技術門檻就能開始打怪練經驗。等級夠了,再來加技能點、加裝備。以此方式培養戰力會比較安全,較不容易把戰力嚇跑。實務上,許多不懂或者根本不知道 SOLID 的軟工,其戰力不容小看。作品雖不到大師級,用來解每日任務也沒問題。只要適時提點,功力必能突飛猛進。不過,一直點不醒的,自然要用別的手段處理掉...

我大概入行快五年才接觸到 SOLID, Design Pattern,加上資質不好,一開始有些消化不良。然後有一天突然就「咦?這不就是那個...在說的情況,@#$%!原來如此。」,很興奮,像《藥命效應》或《LUCY》,藥效發作後:眼前的程式碼長得完全不一樣了。

最後,「不想懂」這些那些的程式設計師所在多有,我想前輩要砍的應該是這些人吧?🔚