有一種 bug,你看了半天程式碼,
覺得「這裡不可能出問題」,
但它就是出問題了。
然後你加了一堆 printf,
把每個變數的值都印出來,
才發現某個「不可能是 NULL」的指標,
在某個罕見的情況下真的是 NULL。
如果當初在那裡加了 assert,
程式會在第一時間告訴你問題在哪,
而不是讓錯誤默默蔓延,
最後在完全不相關的地方 crash。
assert 就是做這件事的。
韌體開發 x 踩坑心得 x 讓錢慢慢長大
有一種 bug,你看了半天程式碼,
覺得「這裡不可能出問題」,
但它就是出問題了。
然後你加了一堆 printf,
把每個變數的值都印出來,
才發現某個「不可能是 NULL」的指標,
在某個罕見的情況下真的是 NULL。
如果當初在那裡加了 assert,
程式會在第一時間告訴你問題在哪,
而不是讓錯誤默默蔓延,
最後在完全不相關的地方 crash。
assert 就是做這件事的。