代碼規(guī)范

#代碼規(guī)范(從code review總結(jié))

1. 沒有使用filterStartLimit過濾limit字段值.filterStartLimit作用是防止sql注入.? orderby, page(分頁), groupby等參數(shù)都有類似風(fēng)險(xiǎn)。


2. 代碼里不應(yīng)出現(xiàn)magic number, 應(yīng)該定義常量增加可讀性

3. 路由URL中的"/"應(yīng)該用來體現(xiàn)層級(jí)而不是用來劃分單詞。

/offline/course/{id}/picture? ? #應(yīng)該使用? /offline_course/{id}/picture

4. 異常需要分類 不能都簡單拋出serviceException

Topxia\Common\Exception 中已經(jīng)有部分Exception類型,根據(jù)業(yè)務(wù)選擇

5. 檢查代碼的無用邏輯

如在controller層調(diào)用search時(shí),如果searchUserCount為0,可以避免searchUsers

6. dao層sql 查詢 orderby 需要限制可排序字段(防注入)。

7. search方法使用的場景是當(dāng)查詢條件不確定

conditions ?= array( 'parentId' => 0 ); 應(yīng)該使用 findXXXbyparentId(findParentXXX)

8. 變量命名冗余,enrollmentPlan => plan,增加可讀性

就像在CourseController下 不是courseManageAciton 應(yīng)是manageAciton,在這個(gè)語境下manage自然被理解為是管理Course。

9. ‘if-else’循環(huán)內(nèi)容復(fù)雜,應(yīng)當(dāng)簡潔,考慮使用‘key => value’。

多重循環(huán)嵌套時(shí),可以考慮是否可以用鍵值對形式來實(shí)現(xiàn),或者用拼接的方法實(shí)現(xiàn)。

$status = array(

'new' => 'admin_enrollment_declare',

'declareing' => 'admin_enrollment_audit',

'assigned' => 'admin_enrollment_update_classroom',

);

if (!empty($plan) && $plan['status'] != 'published') {

return $this->redirect($this->generateUrl($status[$plan['status']] ,array('id' => $plan['id'])));

}

10. 在Controller中,不可暴露數(shù)據(jù)庫信息如”depth=> 2

11. 字段”created_time”和”updated_time”,不應(yīng)寫在service(新框架不用賦值,原先框架應(yīng)寫在dao)

12. 數(shù)據(jù)庫字段命名駝峰和下劃線皆可 ?userId user_id

13. 方法的命名不能太籠統(tǒng),要盡量有具體的含義。

validateAuthority()? 修改為=> tryManageClassroomThread()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 代碼格式 使用空格而不是制表符 Tab 不要在工程里使用 Tab 鍵,使用空格來進(jìn)行縮進(jìn)。在 Xcode > Pr...
    small_Sun閱讀 1,471評(píng)論 1 3
  • (1): 包名全部小寫,根包名公司域名的反寫(不要www)如augmentum的域名為www.augmentum....
    stutterr閱讀 704評(píng)論 0 0
  • iOS編程規(guī)范0規(guī)范 0.1前言 為??高產(chǎn)品代碼質(zhì)量,指導(dǎo)廣大軟件開發(fā)人員編寫出簡潔、可維護(hù)、可靠、可 測試、高效...
    iOS行者閱讀 4,625評(píng)論 21 35
  • 演講是一門學(xué)問,前幾天剛講了如果能做一個(gè)成功的演講者,那么你將來一定是一個(gè)成功的人。 那如何把演講講好...
    城市格調(diào)劉姣閱讀 353評(píng)論 0 0
  • 2016七月上 他和他十指相扣還漫步于校園的林蔭小路 2016七月下 他和她卻天各一方于世界的不同角落 七月 “他...
    留白里的句號(hào)閱讀 242評(píng)論 0 0

友情鏈接更多精彩內(nèi)容