iT邦幫忙

2021 iThome 鐵人賽

DAY 4
1
Software Development

Python GUI 專案設計模式及好用的開發技巧系列 第 4

如何把痛點轉成未來的爽點 - 寫筆記的重要性

  • 分享至 

  • xImage
  •  

之前介紹了開發者體驗(DX)的重要性, 這次來分享筆者長年學習及使用程式語言的獨特技巧.

很多人可能跟筆者一樣都有類似的問題存在, 就是很容易忘記相關的寫法技巧, 需要Google或找人詢問. 但曾經這些手法都是自己非常熟悉的. 那該如何解決這個痛點呢?

筆者長期都只會記憶簡單的使用方式, 例如:
import/ if .. else/ try.. except/ def ...
怎麼使用或者是關鍵字(含模組名稱) 例如: lambda, re.
其他部分就是透過以前寫給自己的筆記來查表了

正確做筆記是非常重要的, 做筆記的基本原則就是

  1. 把閱讀者當成一張白紙, 簡單的說 這份筆記 不能只有紀錄重點. 而是需要包含5W1H的紀錄方式, 讓閱讀者可以直接照搬裏頭的手法來呈現出來.
    5W1H:   人、事、時、地(語言)、物、如何做    
    
  2. 紀錄每次專案或當下使用的技術名稱或種類
  3. 如果有學習多種程式語言的情況下, 筆者會撰寫比較表, 列舉兩者的差異性.
  4. 筆記要可以方便被自己查詢
  5. !!!重要!!! 一定要確保未來的自己能夠看得懂過去的自己寫的筆記

為什麼要這麼做?

除非是很重要的事情, 具有強烈的意圖性關聯性, 不然就是很容易忘光光. 因此對筆者而言, 刷leetcode 就變成相對是沒有意義的事情了, 在刻意刷題的情況下, 的確會讓自己的瞬時記憶中存有這些紀錄, 但長時記憶中並不一定會存在這些紀錄存在. 未來還是會忘光光. 因筆者不敢保證當下瘋狂刷題或學習的這些技巧在大腦內的的有效期限到底多久? 因此還是養成寫筆記的習慣才是比較可靠的作法

成功的職場人士也常常有「回顧記事本」的習慣,透過記事本的記錄,刺激思考,尋找盲點,甚至想出新的創意。
引用自 人的記憶只有一天而已

在新手問題列表中, 很容易發現有這類的問題存在, 以下是問題及回應者的片段, 可以簡單看出的關鍵字.


引用自Python 新手問題

接下來分享筆者是怎麼做筆記的

這張圖是筆者長年使用notepad++, 紀錄的形式. 裏頭有時間跟做法.
就可以很清楚看到該怎麼做

例如: 查詢C# exception 發生時需要有 完整的callstack 及行號該怎麼做, 直接查關鍵字: exception

針對查到的項目去找到自己需要的部分就好了. 很輕易就查到有多筆紀錄

可以看到筆者都有特別寫出時間戳記, 針對不同的時間戳記有兩個意涵

  1. 當時正在開發的專案
  2. 只是當下紀錄這個技術的時間點

查詢Git commit 列表上可以看出當時正在做的專案是什麼?

同時也可以直接查到是怎麼被應用在專案中

那如果要查C# 跟python 中兩者的exception寫法差異就很簡單了
直接把查到的資訊做一個比對就行了

  • Python
  • C#

/images/emoticon/emoticon32.gif

結論:
筆者選擇使用筆記本的主要原因是, 筆者希望這個文件可以隨時隨地在任何地方被開啟跟讀取, 不會有第三方工具的限制. 因為筆者在開始這個習慣的時候智慧型手機並不存在, 主要都是使用筆電在工作.

撰寫完整紙本筆記是從2006年10月開始, 轉由完整電子筆記的習慣是從2008年10月開始至今都不曾間斷過. 以往的痛點, 在完整筆記的紀錄中, 已經變成筆者在未來工作時的爽點.

在開發者體驗中有一個非常重要的原則跟觀念就是要 To work smarter, not harder
/images/emoticon/emoticon41.gif


上一篇
當Expection發生時, 如何顯示完整的CallStack和位置 (Traceback應用)
下一篇
前人種樹,後人乘涼之自動產生程式碼片段 (上)
系列文
Python GUI 專案設計模式及好用的開發技巧31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言