引言:Build Phases是Xcode在build的時候執行的一些任務,這次就關於代碼優化和重構方面,來說說Build Phases可以幫助我們的一些Script,還請大家補充。
Build Phrases與Xcode插件
1.談到重構,如果我們想在後期把我們的項目重構一下,這不僅可以讓我們重新鞏固一下用到的iOS知識,還可以提高我們對整個項目理解和代碼水平,其中重構的最簡單的一個方法就是從代碼行數開始檢查,從我了解和經驗我們暫可以規定每行代碼不超過80個字符,每個函數不超過限定在50-80行之間,這樣對於我們開發者以後的維護來說,簡潔的代碼更容易進行修改和維護。每個類最好保持在400行以內,如果太多就可以考慮重構一下你的類了,我發現1000行代碼看著真的頭暈,下面一個Build Phrases就可以幫助你檢查你所有m文件大於400行的類,warning提示你。
1 2find
"${SRCROOT}"
( -name
"*.m"
) -and ( -path
"${SRCROOT}/Pods/*"
-prune -o -
print0 ) | xargs -0 wc -l | awk
'$1 > 400 && $2 != "total" {for(i=2;i!=NF;i++){printf "%s%s", $i, " "} print $NF ":1: warning: File more than 400 lines (" $1 "), consider refactoring." }'
如果你需要更好的改善你的代碼推薦OCLint可以更好的幫你改善代碼質量,可以配合xctool很強大。如果你約束能裡不大好,那推薦你Objective-Clean,這樣如果你不符合規則就等著不能Build吧。其實這樣蠻好的O.O。當然你也可以使用AppCode這個強大的編輯器來改善。
2.還有一個好的方法是經常在項目中使用TODO,FIXME等,這樣可以幫助我們下次浏覽項目快速定位和提醒你哪些代碼需要繼續改進,這段Build Phrases可以用warning的方式提醒你哪些需要處理,相比XToDo這個插件更為直觀不需要你打開界面去尋找,直接提示,但是如果你要可視化界面也可以用XToDo這款插件,還是很不錯的。
KEYWORDS="TODO|FIXME|???:|!!!:"
1find
"${SRCROOT}"
( -name
"*.h"
-or -name
"*.m"
) -and ( -path
"${SRCROOT}/Pods/*"
-prune -o -print0 ) | xargs -0 egrep --
with
-filename --line-number --only-matching
"($KEYWORDS).*$"
| perl -p -e
"s/($KEYWORDS)/ warning: $1/"
3.再推薦一個Xcode小技巧是Edit all in Scope 這個功能,這個功能就強大了,而且比較酷,適合進行大批量的修改變量和方法;選定一個想要修改的字符串,然後選擇Edit-Edit all in Scope,然後在你輸入的時候,所有該字符出現的地方都進行同步更改,看起來很cool的。
4.再推薦一個工具,你也許會遇到項目中使用自定義的外部字體,雖然導入項目中修改plist文件可以用代碼來改變字體,但是在xib中選擇字體是沒有,你必須連接到代碼中修改,很麻煩,所以推薦一款工具安裝後添加一個Build Phrases就可以在xib中隨意的選擇外部字體了。工具叫Moarfonts,如果項目,可以考慮一下,還是不錯的。
5.最後再推薦兩款xcode插件,代碼規范/美化工具BBUncrustifyPlugin-Xcode,這邊是配置文件關於objc語言的。第二個插件是推薦給更新到xcode5.1的,由於改善了autolayout,可能這款插件可以更方便的布局RRConstraintsPlugin.