BabyBus代碼規(guī)范

前言

代碼的規(guī)范可以讓我們在冗長而無趣的開發(fā)中保持愉悅的心情,一般有些年限的程序員都有自己的一套代碼規(guī)范饶唤,而且說起來也是頭頭是道。一般情況下祸穷,剛開始的項目,因為工期不急,邏輯簡單單一绊含,我們可以很耐心很規(guī)范的去書寫我們的代碼。整潔,漂亮充甚,結構嚴謹,邊寫邊點頭技矮,滿滿的成就感袒炉!但是一到了工期比較趕或者邏輯比較復雜的時候,我們通常就很少靜下來思考如何編排代碼夺艰,讓我們的代碼優(yōu)雅如初。我們選擇的是哪里需要寫哪里,很多甚至都不管公用的代碼,導致到處冗余。冗余重復代碼太多就會導致修改一個需求就要動到多個代碼文件的下場嘱巾,不僅修改困難,而且容易遺漏问拘!

視頻地址

svn://10.1.1.11/babybus-lua/video/代碼規(guī)范/代碼規(guī)范.mov

常見代碼問題

  • 1.縮進問題
    代碼的縮進,是保持代碼整齊的一個重要功能纽绍,我們要習慣用Tab鍵來控制我們的代碼塊
  function M:onTouchBegan()  
    self:doSomeThing(
                  param,
                  function()
                      self:callback()
                  end
                  )
  end
  • 2.注釋問題
    寫得好的代碼是不需要注釋的僧著,但是我建議邏輯復雜的還是要給一點注釋
  --[[ 

  ]]

  和

  //
  • 3.命名規(guī)范

很多時候我們會看到很多奇葩的命名,例如 addCao , findCha 等中英結合的詞語杯拐,這種詞在給別人閱讀代碼會造成很大的麻煩。命名最好用英文全稱顶滩,也不要簡寫,除非你的簡寫命名很多人都會知道

駝峰命名法
findCar 由 find 和 car合成,結合一起第二個單詞首字母大寫
findCarBottom 這個是由3個單詞合成析二,連接的首字母大寫安拟,以此類推

盡量不要出現阿拉伯數字和中文
使用阿拉伯數字会傲,意思不明確
使用中文奔滑,有可能碰到編碼格式中文亂碼

如果自己不習慣使用駝峰王浴,習慣使用連接符的話秒裕,也可以几蜻,但是不要一會駝峰梭稚,一會連接符
如 find_car_bottom 一會就findBottom暇昂,要有屬于自己的風格

避免使用長的名字(小于 15 個字母是個好主意)

  • 4.方法書寫的格式
    function 和 M的空格保持一個空格就好瘪校,不要有3, 4, 5, 6個
function M:onTouchBegan()

  end
  • 5.參數的間隔
(params1, params2, params3, params4)
  • 6.運算符之間前后要空格
   local a = a 
   a = a + 1

   不要 
   a=a 
   a=a+1
   這樣
  • 7.方法行數控制
    方法內行數最好不要超過25行价认,超過了就抽出邏輯成立一個新的方法
  • 8.返回值最好放在最后
  function M:method()
    local result = nil
    if condition then 
        result = a
        // 不要這樣寫
        //return a
    end

    return a
  end
  • 9.對象賦值
    如果我們要把node給self._ButtonMe,就只要改一個地方
  function M:loadButton()
    local node = D.img("button.png"):pc():to(self)
    node.a = a
    node.b = b
    node.c = c
    // 修改變量名只要修改一個地方
    self._Button = node
  end
  • 10.文件命名
    文件名要跟類名一致姊扔,也可以采取駝峰命名類的文件首字母大寫, GamePlayerScene.lua對應的類應該如下
    class("GamePlayerScene"),
    classScene("GamePlayer")
  • 11.如果類中存在繼承,那么習慣調用父類的構造函數和銷毀時候調用父類銷毀,因為Lua不是真正面向對象
    M.super.ctor(params) super為父類
  • 12.抽象類要記得加上Abstract前綴,需要繼承的方法培愁,用斷言實現.沒有實現就報錯
function M:implement()
      log.e("implement 尚未實現!!!!")
end
  • 13.變量使用私股,盡量使用非空判斷, 經常碰見因為沒有非空判斷出現錯誤的峭状,需要養(yǎng)成習慣
  • 14.善于抽取公共的組件和工具類的實現胆敞,只有一個功能或者組件可能被重復使用2次以上予借,我們便要把它變成組件龟再,可插拔的組件,那么我們就可以減少重復性代碼
  • 15.多使用斷言J.assert(tag, condition, message)
  • 16.學會定期的對自己的代碼進行重構,如果你的項目比較趕,你可以一周抽出幾小時對你這周的代碼進行重構,那么對你的影響必定是深遠的丈氓。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市于樟,隨后出現的幾起案子路捧,更是在濱河造成了極大的恐慌章姓,老刑警劉巖诵盼,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡冈欢,警方通過查閱死者的電腦和手機类缤,發(fā)現死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門氓扛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人管嬉,你說我怎么就攤上這事沟启。” “怎么了?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵悬而,是天一觀的道長艰躺。 經常有香客問我腺兴,道長页响,這世上最難降的妖魔是什么连舍? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任埃儿,我火速辦了婚禮专普,結果婚禮上蚌堵,老公的妹妹穿的比我還像新娘买决。我一直安慰自己沛婴,他們只是感情好,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布督赤。 她就那樣靜靜地躺著嘁灯,像睡著了一般。 火紅的嫁衣襯著肌膚如雪躲舌。 梳的紋絲不亂的頭發(fā)上丑婿,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天,我揣著相機與錄音没卸,去河邊找鬼羹奉。 笑死,一個胖子當著我的面吹牛约计,可吹牛的內容都是我干的诀拭。 我是一名探鬼主播,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼煤蚌,長吁一口氣:“原來是場噩夢啊……” “哼炫加!你這毒婦竟也來了?” 一聲冷哼從身側響起铺然,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤俗孝,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后魄健,有當地人在樹林里發(fā)現了一具尸體赋铝,經...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年沽瘦,在試婚紗的時候發(fā)現自己被綠了革骨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡析恋,死狀恐怖良哲,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情助隧,我是刑警寧澤筑凫,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站并村,受9級特大地震影響巍实,放射性物質發(fā)生泄漏。R本人自食惡果不足惜哩牍,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一棚潦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧膝昆,春花似錦丸边、人聲如沸叠必。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽挠唆。三九已至,卻和暖如春嘱吗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背滔驾。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工谒麦, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人哆致。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓绕德,卻偏偏與公主長得像,于是被迫代替她去往敵國和親摊阀。 傳聞我的和親對象是個殘疾皇子耻蛇,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內容

  • iOS編程規(guī)范0規(guī)范 0.1前言 為??高產品代碼質量,指導廣大軟件開發(fā)人員編寫出簡潔、可維護胞此、可靠臣咖、可 測試、高效...
    iOS行者閱讀 4,466評論 21 35
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理漱牵,服務發(fā)現夺蛇,斷路器,智...
    卡卡羅2017閱讀 134,716評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,334評論 25 707
  • 用戶注冊和用戶profiles 現有的用戶已經可以登錄酣胀,登出刁赦,修改他們的密碼,以及當他們忘記密碼的時候重置他們的密...
    StewieK閱讀 413評論 0 0
  • ##header
    _Yue_Wang閱讀 130評論 0 0