基本介紹
- 中文名:縮進風格
- 外文名:indent style
- 用途:管理代碼塊縮進
- 領域:計算機
簡介,大括弧位置,制表符、空格及縮進尺寸,工具,
簡介
縮進在大多數程式語言中不是必要條件,而只是作為輔助符號。不過,縮進有助於更好地向人類閱讀者表達程式的結構。尤其是用於澄清控制流程結構(例如條件或循環)與其內部、外部代碼之間的關係。不過,部分語言(例如Python和occam)使用縮進而非大括弧或關鍵字來確定結構,這被稱為越位規則。在這種語言中,縮進對編譯器或解釋器有意義,而不僅僅是清晰度或風格問題。
大括弧位置
縮進風格的主要區別在於複合語句的大括弧({...})的位置,這通常是為涵蓋一個控制聲明(if、while、for...)。下表展示了本條目中討論的所有風格的所在位置。為了一致性,縮進深度(字元數)統一使用4個空格表示,這未考慮各風格中首選的縮進深度。
大括弧位置 | 風格 |
---|---|
while (x == y) { something(); somethingelse();} | K&R及變種: 1TBS、Stroustrup、Linux核心、BSD KNF |
while (x == y){ something(); somethingelse();} | Allman |
while (x == y) { something(); somethingelse(); } | |
while (x == y) { something(); somethingelse(); } | Whitesmiths |
while (x == y){ something(); somethingelse();} | Horstmann |
while (x == y){ something(); somethingelse(); } | |
while (x == y) { something(); somethingelse(); } | |
while (x == y) { something(); somethingelse(); } |
制表符、空格及縮進尺寸
縮進的尺寸通常與風格無關。許多早期程式使用制表符來縮進,從而簡化輸入和節約原始碼檔案的大小。Unix編輯器通常將制表符視為等同八個字元,而Macintosh和Windows環境將它視作四個字元,這使代碼在各環境間交換時產生一種混亂。現代的編程編輯器通常可以設定任意的縮進尺寸,並會插入適當的制表符與空格。對Ruby、許多shell腳本語言和某些形式的HTML格式,通常為每個縮進級別使用兩個空格。
工具
在Emacs中,有多種命令可用於自動解決縮進問題。
Elastic tabstops是一種需要文本編輯器支持的制表風格,當塊中的一行的長度改變時,整個文本塊將自動對齊。