1
當我編寫一些通用編程實用程序代碼時,我發現同時具有inplace mutator和新對象創建者成員函數是一種功能。命名慣例區分就地突變/創建函數
例如,表示文件系統中路徑的某個類可能具有「標準化」功能。路徑對象可能會將自身變爲規範化路徑對象,或者返回新的規範化路徑對象。
class path {
...
void normalize_itself()
path get_new_normalized_path()
...
}
我已經嘗試了一些約定這一個,但其中大多數都不能滿足。
'正常化!'對於像ruby這樣的就地功能 - 很好,但大多數其他語言不支持將特殊字符包含在標識符中。
inplace函數'normalize_ip' - 因爲我的大部分函數用法都是就地的,所以我認爲它太難看了。
'get_normalized'用於非inplace函數 - 可以接受,但可以與其他簡單的getter函數混淆。
非歸位函數的「歸一化」 - 有時不統一,容易與其位置計數器部分混淆。
將非inplace函數編寫爲自由函數 - 缺少IDE的智能幫助,有時會出現可見性問題。
我想找到一些好的/實用的慣例來區分兩個功能。