今天來談談使用電子筆記的心路歷程。
求學的程中,我一直是那種不太會做那種「精美」的筆記的人。還記得當年剛升國中的時候,國文老師教我們該如何做筆記:「課堂上做筆記只要記錄下自己不懂的部分就好了」。也因此一直以來,我都是直接在課本上做註記,不會另外寫成那種條理分明的筆記(也不知道別人那種筆記是怎麼弄出來的…)。大學必修課時,要嘛是把老師的板書抄下來,一個個引理、一個個定理,能夠跟上老師擦黑板的速度就阿彌陀佛了…
這次在整理公司坐位的時候發現當年剛進來 Yahoo 的時候,公司每人發了一本《發現我的天才: 打開34個天賦的禮物》 ,那時候我就丟在公司抽屜裡放到現在…前陣子把這本書看完覺得收獲滿多的,跟大家分享~
如果直接把青蛙丟到熱水裡,青蛙會直接跳出來;但如果把青蛙放在冷水裡慢慢加熱,它會不知不覺的被煮熟…
先不論後來有人說在後者的場景裡其實青蛙也還是會跳出來,這個溫水煮青蛙的比喻,常常拿來形容人沒有感知到危機的徵兆,而一點一點的步入死亡。
繼上一篇淺談程式可讀性,我發覺,與其去談怎麼樣變成一個軟體工程大師,倒不如談談怎樣不要寫出雷雷的東西,比較容易也比較不會有什麼大爭議。軟體工程對於大師還是有不同的層次與見解,滿難去定義的,但是日常維護程式的痛,大家的經驗應該都滿類似的。畢竟,遇到好的或是普通的程式通常不會有什麼特別的感覺(除非是真的遇到 masterpiece 且剛好看得懂),會被記住的都是那些難懂的程式碼。所以這篇就來談談也是很常見的「共用」程式碼議題。
Uncle Bob 的 Clean 三部曲(《Clean Code》 / 《Clean Coder》 / 《Clean Architecture》)自從問世後,一直是各種軟體社群或是讀書會常見的內容。對於這三本書,我個人簡短的心得是:《Clean Code》 講述在軟體實作時,怎樣的好習慣及作法,會讓撰寫出來的程式碼易於維護。《Clean Coder》 則是在探討,在時程、預算或是其他隕石的壓力之下,身為一位有著 Clean Code 思維的工程師要怎麼應對進退,以達到程式還是 Clean Code 的目的。
什麼是可讀性高的程式?常常被人掛在嘴邊說這是一個見人見智的問題,但,真的是這樣嗎?基本上所有的工程師在撰寫程式的當下,都覺得自己的程式可讀性是很高的,但這往往陷入了自我感覺良好的陷阱裡面…
去年時,從一個純 Backend 轉調到資料科學團隊時,還滿不習慣的。最主要的差異是,那時的這個團隊,雖然也是跑著 scrum,但每次 demo 時,ticket 的完成率常常只有不到 50%,有些票更是很容易橫跨三、四個 sprint 也關不掉。這對於剛從一個 scrum 跑得非常成熟的團隊轉出來的我,非常地不適應。老實說,當時的我沒有想太多,只覺得這個 scrum 跑得不是很成功,但後來回想,不適應的原因大概有幾點:
從小,我就算是一個記憶力比較好的人,很多事情看過去就大概能記得十之八九。剛上國中時,當時的國文老師教我們如何記筆記。當時的我,只懂得乖乖的把老師的上課內容一字不漏的記錄下來,但要記錄的東西太多而課本的空間很有限,因此那時老師提到:「筆記,只要記錄你不知道的東西就好了」時,對我來說是印象非常深刻的。
我原本是個只愛看書/看文章的人。因為我的閱讀及理解速度很快,閱讀對我來說,有很大的成就感。
但內心一直會覺得,只是知道,沒有拿出來用,好像也只是紙上談兵而已。