[心得][英文] 如何命名「檢查」功能
這週的題目是:「檢查」的相關動詞。
* 如何命名「檢查」功能?
* Check, Test, Verify, Validate 有什麼不一樣?
---
* Google 簡報 https://bit.ly/31UiEPK
* Facebook 相簿 https://bit.ly/31NqsCU
* GitHub 討論 https://bit.ly/321ResR
---
# 先說結論
* 如果不確定該用哪個動詞,就用 *Check*
---
# 所謂「檢查」這個動作
相對於模糊邏輯 (fuzzy logic),我們在寫程式時多半使用
古典邏輯 (classical logic),也就是以「真、假」二元的方式來表示邏輯、進行
運算;例如,以下程序:
1. 如果
1. 「使用者有讀取權限」為真
2. 就
1. 傳回資料
3. 否則
1. 丟出錯誤
在我們寫的程式中,常常需要「檢查」程式邏輯模型的狀態,然後做出判斷,決定
程式下一步的行為。
這就是這週的題目:「檢查」的相關動詞。
---
# 檢查: Check
Check 可說是最萬用的「檢查」動詞,它可以用來:
* 檢查「有無」
* Windows 更新
* 讀寫權限
* 新 email
* 檢查「對錯」
* 拼字、文法
* 檢查「狀態、品質」
* 網路連線 有無 連上
* 硬碟空間 是否 足夠
幾乎什麼都可以來 *check* 一下。
如果不確定要用什麼動詞來表達
* 檢查有無、對錯、是否
* 檢查系統狀態,做出判斷,傳回詳細資訊
的動作,用 check 大概不會有錯。 XD
接下來,以 check 為基準來比較幾個「檢查」相關動詞在語意上的特點。
---
# 「檢查 + 後續動作」的動詞
相對於單純只執行「檢查」的 check,assert 與 ensure 分別代表以下兩個常用
的「檢查 + 後續動作」程式結構。
## Assert
「檢查之後,若系統不滿足條件,丟出錯誤」。
1. 檢查「某條件C」
2. 若
1. 「某條件C」為假
3. 就
1. 丟出錯誤
## Ensure
「檢查之後,若系統不滿足條件,採取行動確保系統狀態合乎條件」。
1. 檢查「某條件C」
2. 若
1. 「某條件C」為假
3. 就
1. 採取行動以確保系統狀態合乎「某條件C」的要求
---
# 重視實驗的「測試 (test)」動詞
* 檢查 (check) 偏向「從系統讀取資訊來做出判斷、回報結果」
* 測試 (test) 偏向「與系統互動並觀察其反應來做出判斷、回報結果」
以「有無讀寫權限」為例:
* 檢查 (check) 可能會拿著目前使用者的身分符記 (token) ,詢問作業系統該使
用者是否有讀寫權限,然後回傳檢查結果。
* 測試 (test) 可能會以目前使用者的權限,直接去試試看能否真的執行讀寫動作
,然後回傳測試結果。
---
# 重視預期正確答案的「驗證」動詞
相對於檢查(check) ,「驗證」偏向於「讀取資訊,與預期的正確答案比對,回報
結果或丟出錯誤」。
以「 email 格式正確與否」為例, validate 比 check 更能強調「驗證是否合乎
規範標準」。
以「使用者密碼正確與否」為例, verify 比 check 更能強調「驗證是否合乎已
知的正確答案」。
---
# 確認 (confirm) vs. 驗證 (verify)
確認 (confirm) 與驗證 (verify) 兩者都可以用來檢查「事情是否準確、真實」
,但它們在語意上有微妙的差異:
* 確認 (confirm) 傾向「確定想法;消除疑慮、不確定性」。
* 在前端設計,會以 confirm 或 OK 來讓使用者「確認」執行它的選擇;而不
常用 verify 。
* 在日常會話,會以 confirm 作為動詞來「確認」行程;而不常用 verify 。
* 驗證 (verify) 傾向「取得資訊、進行實驗來判斷事情是否正確」。
* 在前端設計,會以 verify 來提示使用者「驗證」它的手機。
* 在後端設計,會以 verify 來命名「檢查事情是否準確、真實」的方法;而不
常用 confirm 。
---
# 其它情境
在某些相對少見的情境下,「檢查」有它的習慣用字,例如:
* authenticate : 檢查使用者身分真偽
* scan : 大範圍檢查;掃描
* ping : 檢查遠端伺服器、服務的狀態
* analyze : 檢查系統行為現象的本質;分析
* audit : 全面嚴謹地檢查系統的行為;審察
* diagnose : 檢查問題的原因;診察
* inspect : 檢查是否滿足某種標準;稽察
其它還有 examine、investigate、review 等字;在程式碼中相對地罕見,在文書
或註解中比較常見。
---
# 結語
一週探索一個題目,逐漸把寫程式會用到的英文知識整理起來;每個人都是從零開
始學起的,我也從讀者提問中學到了很多 :)
如果你在寫程式時有遇到英文表達上的問題,歡迎留言討論,或到《程式英文》
GitHub 討論區 https://bit.ly/321ResR 提問。
這可以幫助我把這個列表整理的更完善,謝謝 :)
--
感謝分享
做成工具(書/web)讓人查好像不錯
同意;長期來說會想往 HTML / GitHub Pages 的方向前進;方便閱讀、檢索、製 作、協作。
感謝分享
推個
必須推
推
加油~一周一篇~一年後就可以出書了
謝謝鼓勵 :)
謝謝推
感謝分享
推推
推
推
推
推,這個實用
謝謝各位的欣賞 :)
※ 編輯: AmosYang (136.56.13.184 美國), 08/15/2020 12:40:07感謝分享!
推
推!非常感謝,對我幫助很大!
推推~
推
推
謝謝 :)
想問會不會做CURD操作的系列,很常用的幾個
是的,有打算做 CRUD 。 目前有一篇『如何命名「刪除」功能?』,可以參考以下連結: *
#1V8-skH9 (Soft_Job)*
https://www.ptt.cc/Soft_Job/M.1596190126.A.449C、R、U的部分還沒開始寫,但有開項目追蹤 :) * C:
https://github.com/EngTW/English-for-Programmers/issues/28* R:
https://github.com/EngTW/English-for-Programmers/issues/29* U:
https://github.com/EngTW/English-for-Programmers/issues/30※ 編輯: AmosYang (136.56.13.184 美國), 08/16/2020 20:54:18 ※ 編輯: AmosYang (136.56.13.184 美國), 08/16/2020 20:59:45
那順便許願一下 commit message 好了 XD
很有意思的題目 :) 能否談談你覺得「寫 commit message 時,多半卡在哪裡?」;例如說,句型、文 法、選字? 或著,若能談談「讓你覺得卡住的案例」,也能幫助我們找到解決問題的方向。 --- 可以在這裡推文討論、 PTT 站內信 、或 Facebook/Twitter 私訊都可以 :) *
https://www.facebook.com/twy30*
https://twitter.com/twy30※ 編輯: AmosYang (136.56.13.184 美國), 08/17/2020 05:46:29
推
推
Good分享感謝
謝謝各位的欣賞 :)
※ 編輯: AmosYang (136.56.13.184 美國), 08/21/2020 12:40:58推
謝謝 :)
推命名工具書
謝謝你的欣賞 :)
最近常常對定義新功能感到詞窮
有沒有興趣描述一下你遇到的困境?或許我可以幫上忙 :)
※ 編輯: AmosYang (136.56.13.184 美國), 08/29/2020 07:47:32推
謝謝 :)
※ 編輯: AmosYang (136.56.13.184 美國), 09/04/2020 12:13:4861
[討論] 遇到無能為力的問題時的對應態度抱歉標題可能沒有表達得很好 事情是這樣的 前天中午時我們部門負責的產品出現不明問題無法連上 當時部門內只有主管跟同事A君因為自己帶便當的關係還在辦公室 主管馬上開啟監控服務檢查,並通知SRE跟MIS協助14
[請益] 一份好的設計規劃應該怎麼寫我目前從事販賣機的軟體開發,需求主幹很簡單: 1.用戶選定商品、檢查商品庫存。 2.提示付款、依據使用者付款方式檢查付款是否成功。 3.投放商品。 4.控管存放庫的溫度。10
[問題] 有重複卡檢查功能嗎?有時候忘記哪張卡已經有了 都需要一個屬性 + 一個種族慢慢人工檢查 篩選功能也沒有也找不到 不知道神魔有沒有什麼功能可以直接找出重複的卡片呢? -----11
Re: [討論] 寫三元判斷式code review被打槍Code review 檢查這些會有點太花時間,應該有更重要的東西要看。 可以用一些 Gradle plugins 卡在 CI 比較省事: 1. Checkstyle 顧名思義檢查 style。 2. SpotBugs6
[問題] 買二手iphone該如何檢查買二手iphone該如何檢查 請問有人知道該如何檢查手機有無問題嗎 有檢測模式 或檢測程式嗎? 謝謝5
[問卦] 現在寫網頁前端要求也太多了吧最近在寫網頁前端啦,寫到會生氣诶 明明程式都正常,結果用網頁檢查工具一檢查,一堆error 一下說JS要壓縮,一下說css要壓縮 還要避免太多導向,還要增加閱讀性 增加網頁對比性等等有的沒的3
[問題] CHECK燈亮 熄滅老車97年的COROLLA CHECK燈久久會亮一次 之前亮了置之不管自己熄滅 牽回原廠檢查 超過一校時檢查時間酌收檢查費用690 後回覆是ERG那些東西需更換 工錢1300 零件190002
Re: [心情] 工作的內容被放大檢視我怎麼覺得是在找麻煩, 不管是老鳥,還是主管,我就不相信有人可以 速度十分快又完全沒有任何bug,程式精簡到沒任何一絲一毫多餘的斷行 tab或空白或多 餘效率不好的code,或程式中有重覆使用的code(沒精簡包在fuction中) 沒任何bug代表寫完要不斷測試所有各種可能的case,這- 這個我在讀大學看ptt也深有同感覺得科技業工程師都有中英混雜說話 但當我踏入這行後我就懂了,而我馬上也被感染 1. 因為所有報告都是英文。你邊寫邊溝通時,你用的動詞真的很容易變英文。 2. 中文的程度情感不明確 我記得有次打電話給一個華僑客戶,請他幫我檢查我的文件有沒有錯誤。被他反幹了一堆,說客戶幫你檢查你他媽要不要臉。但之後用review這個字請他檢查沒事。但中文review是審查,請你幫我審查或檢查文件在中文裡根本沒差。