繁體中文

文字及日常工具·文字工具包

大小寫轉換器如何分割駝峰命名法和首字母縮寫(例如 parseHTTPResponse)

· 工作原理

文字轉換 開發人員工作流程 統一碼

標識符 parseHTTPResponse 分為解析、HTTP 和回應令牌
原始 ToolAcre 向量圖

解釋了一個好的大小寫轉換器應用的三個邊界規則——分隔符號運行、從下到上的轉換和首字母縮略詞邊緣——以及為什麼 parseHTTPResponse2Json 是暴露弱規則的測試。

parse_h_t_t_p_response 和其他失敗 - 為什麼轉換標識符比轉換“hello world”更難

將「hello world」轉換為 hello_world 很容易;將 parseHTTPResponse 轉換為 parse_h_t_t_p_response 表示演算法將每個大寫字母視為一個單字。開發人員為 Python API 重新命名 JavaScript 標識符需要相反的操作:首先識別令牌,然後應用目標的加入約定。同樣的第一步應該為蛇、烤肉串、駱駝和帕斯卡輸出提供動力,否則四個按鈕在單字開始的位置上不一致。

規則一:分隔符號 — 空格、連字號、底線和標點符號都標記邊界,無論一行中有多少個

連續的空格、連字號、底線和其他非字母/非數字字元已經標記了邊界。將運行視為分隔符號:button--primary 應成為兩個標記,而不是連字符之間的空標記。 ToolAcre 的大小寫轉換器將字母和數字的 Unicode 感知表達式分開,因此常見的非 ASCII 字母不會因為位於 A-Z 之外而被丟棄。空白規範化是關於命名約定,而不是自動更改原始來源檔案。

規則二:從下到大的轉換-小寫字母或數字後面跟著大寫開始一個新單字

小寫字母或數字後面跟著大寫字母的模式會在大寫字母之前插入邊界。這會將 parseResponse 變成 parse + Response,並允許 2Json 變成 2 + Json。此規則本身並不將前面的單字與其最後的數字分開:ToolAcre 在拆分大寫 J 之前將 Response2 視為一個標記。是否需要 Response + 2 是一個樣式指南決定,因此請檢查數字標識符,而不是假設每個轉換器都做出相同的選擇。

規則三:首字母縮寫邊緣 - 一連串大寫字母,後面跟著大寫字母和小寫字母對,在最後一個大寫字母之前結束首字母縮寫詞

首字母縮寫需要再向前看一次。在 HTTPResponse 中,大寫 HTTP 在 R 之前結束,因為 R 後面跟著小寫 esponse。符合 run 和大寫-小寫對的規則會在那裡插入邊界:HTTP + Response,而不是 H + T + T + P + Response。當名稱以全部大寫結尾時,沒有小寫後綴來標記新單詞,並且首字母縮略詞保持在一起。這就是標記標識符和在每個大寫字母之前插入分隔符號之間的區別。

數字和邊緣情況 - “2Json”分裂的地方,以及為什麼沒有規則集滿足每個樣式指南

數字約定仍然不明確:version2Parser、HTTP2Json 和 IP6Address 並不都暗示相同的單字分組。 ToolAcre 將數字與前面的標記分組,直到後續大寫字母觸發下一個邊界。同樣,具有區域設定敏感的大寫字母的擴展或行為可能與 ASCII 不同:土耳其語點/無點 i 和德語 ß 需要手動檢查。該工具進行確定性轉換,而不是聲稱理解變數的語義命名。

工作範例 - 透過蛇、烤肉串、駱駝和 Pascal 大小寫運行 parseHTTPResponse2Json 和連字號的 CSS 類

透過實際大小寫轉換器運行 parseHTTPResponse2Json。它在蛇的情況下產生parse_http_response2_json,在kebab的情況下產生parse-http-response2-json,在駱駝的情況下產生parseHttpResponse2Json,在Pascal的情況下產生ParseHttpResponse2Json。對於button--primary,連續的分隔符號會折疊成button_primary 和button-primary。這些輸出公開了成功的首字母縮略詞規則和數字分組選擇。在跨程式碼庫使用搜尋和替換之前,先針對目標 API 進行測試。

這不包括什麼 - 特定於區域設置的大小寫,例如土耳其語點分 i,它有自己的帖子

此機制不會實現每種語言的大小寫折疊、推斷首字母縮寫代表特定領域術語或重命名整個程式中的引用。字串和識別碼轉換與使用符號感知重構原始碼不同。該工具不能保證 Python 服務接受重命名的 JSON 欄位;呼叫者可能仍然依賴舊的拼字。更改公共欄位名稱後運行架構測試。

重點 - 文字工具包的大小寫轉換器應用這三個規則並立即顯示結果,以便您可以在貼上到程式碼之前檢查它

首先使用分隔符號、轉換和首字母縮寫邊緣來識別標記;然後才加入並保護它們。文字工具包使這些規則可見並立即輸出,並允許您撤消轉換。對於包含大量首字母縮寫的欄位名稱,請比較真實的蛇/烤肉串結果,而不是盲目地將簡單的大寫字母正規表示式應用於整個儲存庫。