是否有任何常見的命名約定來區分已分配和未分配的字符串?我正在尋找的是有希望的us
/s
從 Making Wrong Code Look Wrong類似,但我寧願使用一些常見的東西來彌補我自己的。分配/未分配字符串的命名約定
1
A
回答
1
這篇文章中的美國慣例有些用處,但它忽略了一個更大的觀點。關鍵在於變量命名約定只有在防止文檔失誤時纔是有效的。
例如:
#Version 1
char* sHello = "Hello";
printf("%s\n", sHello);
它獲取最終修改爲
#Version 2
char* sHello = "Hello";
... 100 lines of code ...
sHello = realloc(sHello, strlen(sHello)+7);
strcpy(sHello+strlen(sHello), " World");
... 100 lines of code ...
printf("%s\n", sHello);
當你真正想使一個編碼規範的工作,你不能依賴於某種任意的(是的,它們都是任意的)命名約定。您必須以失敗構建的方式備份該命名約定。在上述情況下,明智地使用關鍵字const
本可以做到這一點,但編碼慣例會讓人們感到自滿,因爲它是以某種方式命名的。
這是一遍又一遍的文檔問題,最終代碼內文檔會與代碼不同步,並且您的代碼內命名約定最終會與這些名稱的使用不同步。
現在,如果您想向C添加輸入信息(這實際上就是您所得到的),請通過實際將類型添加到c,typedef
的系統來執行此操作。然後建立一個系統,可以驗證該類型是否在需要時未被使用,並且構建失敗。其他任何事情都會花費你太多的事後搜索/維護/清理,而實現的編碼風格的一半甚至比糟糕的編碼風格更糟糕。
相關問題
- 1. 分配未分配的字符串數組
- 2. 字符串分配
- 3. 命令行匹配部分字符串
- 4. 從字符串中分配freemarker中的命名空間
- 5. 分配字符串數組
- 6. 字符串部分匹配
- 7. C++字符串分配
- 8. C字符串分配
- 9. C#字符串分配
- 10. 如何分配字符串?
- 11. 排序分配字符串
- 12. 字符串內存分配
- 13. 匹配固定字符串部分2
- 14. 分配INT值,以特定字符串
- 15. 命名解析字符串並分配價值
- 16. 你對分配內存的函數有什麼命名約定?
- 17. 如何分配字符串|未定義在TypeScript中的字符串?
- 18. 基於特定字符串匹配的分隔字符串
- 19. VBA:按字符分配字符串
- 20. 在C中重新分配字符串數組並分配新字符串
- 21. 文字的字符串分配
- 22. 可以將字符串分配給未定義但未分配對象的屬性
- 23. 在ascii譜中未分配的字符?
- 24. 分配在我無法理解分配中的字符串一些特定的行爲字符串
- 25. 動態分配字符串文字
- 26. 何時分配字符串文字
- 27. 在python分配數字在字符串
- 28. 將字符串文字分配給char *
- 29. 字符串的分配存儲器
- 30. 字符串中的部分匹配[]
這應該可能在programmers.stackexchange.com上,而不是stackoverflow。 –
Boy oh boy,當變量名稱的選擇不再是編程活動時,Stackoverflow變得非常挑剔。 –
這屬於SO,而不是程序員,特別是因爲它是語言特定的(C)。 –