iOS 項(xiàng)目接入 Githooks

可以直接查看 github項(xiàng)目,利用git子模塊的方式引入到工程中. https://github.com/square/spacecommander

以下是對.clang-format 文件的注釋.

# Custom options in the special build of clang-format (these are not standard options)
IndentNestedBlocks: false
AllowNewlineBeforeBlockParameter: false

Language: Cpp
# BasedOnStyle: Google

#類的訪問修飾關(guān)鍵字(private,public,protected···)縮進(jìn)
AccessModifierOffset: -1

#構(gòu)造函數(shù)初始化的縮進(jìn)值
ConstructorInitializerIndentWidth: 4

#引入頭文件排序
SortIncludes: false

#在未封閉(括號的開始和結(jié)束不在同一行)的括號中的代碼是否對齊
AlignAfterOpenBracket: true

#在(),[],{}中代碼不少于一行且換行情況下畔裕。如果true則衣撬,第二行起代碼會盡量向左對齊,否則向最右邊對齊扮饶。
AlignEscapedNewlinesLeft: true

#如果為true具练,水平對齊二元和三元表達(dá)式的操作數(shù)。
AlignOperands: false

#如果為true甜无,對齊各行尾部注釋
AlignTrailingComments: true

#如果為true扛点,函數(shù)申明多個(gè)參數(shù)時(shí),允許換行
AllowAllParametersOfDeclarationOnNextLine: false

#如果true岂丘,較短的代碼片段允許格式化為一行
AllowShortBlocksOnASingleLine: false

#是否允許短switch的case 語句在一行寫完
AllowShortCaseLabelsOnASingleLine: false

#是否允許短的方法實(shí)現(xiàn)在一行寫完
AllowShortFunctionsOnASingleLine: false

#是否允許短if else語句在一行寫完
AllowShortIfStatementsOnASingleLine: true

#是否允許短的循環(huán)在一行寫完
AllowShortLoopsOnASingleLine: true

#定義函數(shù)返回類型之后換行
AlwaysBreakAfterDefinitionReturnType: false

#定義模板之后換行
AlwaysBreakTemplateDeclarations: false

#多行字符串之前換行
AlwaysBreakBeforeMultilineStrings: false

#二元操作符之前換行
BreakBeforeBinaryOperators: None

#三元操作符之前換行
BreakBeforeTernaryOperators: false

#在構(gòu)造函數(shù)初始化時(shí)按逗號斷行陵究,并以冒號對齊
BreakConstructorInitializersBeforeComma: false

#如果false,函數(shù)調(diào)用時(shí)的參數(shù)要么是全部占同一行奥帘,要么一個(gè)參數(shù)占一行铜邮。
BinPackArguments: true
#如果false,函數(shù)的定義或聲明的參數(shù)要么是全部占同一行寨蹋,要么一個(gè)參數(shù)占一行
BinPackParameters: true

#一行代碼長度的限制松蒜,0為無限制
ColumnLimit: 0
#如果true,構(gòu)造函數(shù)的初始化無法適應(yīng)于一行以內(nèi)已旧,那么每個(gè)參數(shù)占一行
ConstructorInitializerAllOnOneLineOrOnePerLine: true

#如果true秸苗,將用使用PointerAlignment的值為指針類型進(jìn)行格式化
DerivePointerAlignment: false

#如果true,clang-format檢測方法的定義和調(diào)用是否被格式化為一個(gè)參數(shù)占據(jù)一行
ExperimentalAutoDetectBinPacking: false

#case語句的位置總是在switch語句后縮進(jìn)一級
IndentCaseLabels: true

#若方法定義或者聲明在類型之后換行,自動(dòng)縮進(jìn)(true)
IndentWrappedFunctionNames: false

IndentFunctionDeclarationAfterType: false

#持續(xù)空行的最大數(shù)量
MaxEmptyLinesToKeep: 2

#如果true运褪,在一塊代碼前的空行將會被保留
KeepEmptyLinesAtTheStartOfBlocks: false

#NameSpace 縮進(jìn): None(所有namespace均不縮進(jìn));Inner(只在內(nèi)部namespcae縮進(jìn));All(所有namespace均縮進(jìn))
NamespaceIndentation: Inner

#OC的block縮進(jìn)
ObjCBlockIndentWidth: 4

#OC的property與()之間后是否空格惊楼,如果true玖瘸,那么@property(readonly) 代替 @property (readonly).
ObjCSpaceAfterProperty: true

#<Protocol> 前是否空格
ObjCSpaceBeforeProtocolList: true

PenaltyBreakBeforeFirstCallParameter: 10000
PenaltyBreakComment: 300
PenaltyBreakString: 1000
PenaltyBreakFirstLessLess: 120
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 200

#指針在類型那邊還是在變量名那邊還是在中間
PointerAlignment: Right

#單行注釋前的空格數(shù)
SpacesBeforeTrailingComments: 1

#如果true,將大括號的列表格式化為最適合C++11的格式檀咙。
Cpp11BracedListStyle: true

#LanguageStandard 參考英文文檔
Standard: Auto

#縮進(jìn)的列數(shù)
IndentWidth: 4

#制表位列數(shù)
TabWidth: 8

#是否使用tab進(jìn)行縮進(jìn)
UseTab: Never

#括號的斷行模式 (此處為自定義,更多選項(xiàng)可參考官方英文文檔)
BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: true
AfterControlStatement: false
AfterEnum: false
AfterFunction: false
AfterNamespace: true
AfterObjCDeclaration: true
AfterStruct: false
AfterUnion: false
BeforeCatch: false
BeforeElse: false
IndentBraces: false

#如果true店读,在非空的括號中插入空格
SpacesInParentheses: false

#如果true,[]中間插入空格
SpacesInSquareBrackets: false

#如果true攀芯,在<>中間插入空格
SpacesInAngles: false

#如果true 空括號中加空格
SpaceInEmptyParentheses: false

#c-style 強(qiáng)制轉(zhuǎn)換中類型前后是否空格 true -> ( int32 )x, false -> (int32)x
SpacesInCStyleCastParentheses: false

#c-style 強(qiáng)制轉(zhuǎn)換類型括號后是否空格 true -> (int32) x, false -> (int32)x
SpaceAfterCStyleCast: false

# true -> [ 1, 2, 3 ] , {a : 1, b : 2, c : 3}; false -> [1, 2, 3], {a: 1, b: 2, c: 3}
SpacesInContainerLiterals: false

# 賦值操作符 = 兩側(cè)是否空格 a = 3 vs a=3
SpaceBeforeAssignmentOperators: true

#在續(xù)行(\ 下一行)時(shí)的縮進(jìn)長度
ContinuationIndentWidth: 4

CommentPragmas: '^ IWYU pragma:'
ForEachMacros: [ foreach, Q_FOREACH, BOOST_FOREACH ]

#是否在括號前加上空格,此處只是在控制語句之前添加(if/while/for...)
SpaceBeforeParens: ControlStatements

#禁用當(dāng)前format文件
DisableFormat: false
...

其中 SortIncludes 這個(gè)值被設(shè)置為true之后,會導(dǎo)致格式化代碼之后提交代碼任然會提示錯(cuò)誤的問題, 可以先設(shè)置true,代碼全局格式化之后,再改回false.

以上clang-format文件是相對比較符合團(tuán)隊(duì)風(fēng)格的代碼風(fēng)格.也需要在開發(fā)中, 不斷調(diào)整該配置.

參考文檔: http://clang.llvm.org/docs/ClangFormatStyleOptions.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末文虏,一起剝皮案震驚了整個(gè)濱河市侣诺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌氧秘,老刑警劉巖年鸳,帶你破解...
    沈念sama閱讀 217,406評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異丸相,居然都是意外死亡搔确,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評論 3 393
  • 文/潘曉璐 我一進(jìn)店門灭忠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來膳算,“玉大人,你說我怎么就攤上這事弛作√榉洌” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評論 0 353
  • 文/不壞的土叔 我叫張陵映琳,是天一觀的道長机隙。 經(jīng)常有香客問我,道長萨西,這世上最難降的妖魔是什么有鹿? 我笑而不...
    開封第一講書人閱讀 58,380評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮谎脯,結(jié)果婚禮上葱跋,老公的妹妹穿的比我還像新娘。我一直安慰自己穿肄,他們只是感情好年局,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著咸产,像睡著了一般矢否。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上脑溢,一...
    開封第一講書人閱讀 51,301評論 1 301
  • 那天僵朗,我揣著相機(jī)與錄音赖欣,去河邊找鬼。 笑死验庙,一個(gè)胖子當(dāng)著我的面吹牛顶吮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播粪薛,決...
    沈念sama閱讀 40,145評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼悴了,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了违寿?” 一聲冷哼從身側(cè)響起湃交,我...
    開封第一講書人閱讀 39,008評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎藤巢,沒想到半個(gè)月后搞莺,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡掂咒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評論 3 334
  • 正文 我和宋清朗相戀三年才沧,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片绍刮。...
    茶點(diǎn)故事閱讀 39,795評論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡温圆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出孩革,到底是詐尸還是另有隱情捌木,我是刑警寧澤,帶...
    沈念sama閱讀 35,501評論 5 345
  • 正文 年R本政府宣布嫉戚,位于F島的核電站刨裆,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏彬檀。R本人自食惡果不足惜帆啃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望窍帝。 院中可真熱鬧努潘,春花似錦、人聲如沸坤学。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽深浮。三九已至压怠,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間飞苇,已是汗流浹背菌瘫。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評論 1 269
  • 我被黑心中介騙來泰國打工蜗顽, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人雨让。 一個(gè)月前我還...
    沈念sama閱讀 47,899評論 2 370
  • 正文 我出身青樓雇盖,卻偏偏與公主長得像,于是被迫代替她去往敵國和親栖忠。 傳聞我的和親對象是個(gè)殘疾皇子崔挖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 第2章 基本語法 2.1 概述 基本句法和變量 語句 JavaScript程序的執(zhí)行單位為行(line),也就是一...
    悟名先生閱讀 4,148評論 0 13
  • 前言 本開發(fā)規(guī)范基于《阿里巴巴Java開發(fā)手冊終極版》修改庵寞,并集成我們自己的項(xiàng)目開發(fā)規(guī)范虚汛,整合而成。 為表示對阿里...
    4ea0af17fd67閱讀 5,640評論 0 5
  • 目錄 一皇帮、 編程規(guī)約..................................................
    owen_he閱讀 4,939評論 0 4
  • 〇、前言 本文共108張圖蛋辈,流量黨請慎重属拾! 歷時(shí)1個(gè)半月,我把自己學(xué)習(xí)Python基礎(chǔ)知識的框架詳細(xì)梳理了一遍冷溶。 ...
    Raxxie閱讀 18,954評論 17 410
  • 數(shù)據(jù)來源于艾瑞深中國校友會網(wǎng)發(fā)布《2016 中國大學(xué)評價(jià)研究報(bào)告》
    WenryXu閱讀 193評論 0 0