亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

AngularJS 公共方法 代碼健壯性思考

Jenny_Tong / 2188人閱讀

摘要:這嚴重地影響了開發(fā)的效率。參數(shù)校驗所以我們的公共方法既要寫注釋,讓人能看懂,也要對每一個傳入的參數(shù)表示懷疑。公共方法隨手一條提示信息,節(jié)約程序員的萬千時間。

公共方法

當我們寫一些公共組件或方法時,我們可能需要接收外部的參數(shù),但是,我們并不總能保證我們的注釋是完全能讓他人理解的。

/**
 * 獲取所有考評員信息
 * @param   {district}    區(qū)域
 * @param   {department}  部門
 * @param   {discipline}  學科
 */
self.getAllExaminerInfoByDistrictAndDepartmentAndDiscipline = function(district, department, discipline) {
    // 設置請求參數(shù)
    var params = {
        districtId: district.id,
        departmentId: department.id,
        disciplineId: discipline.id
    };
    // 請求后臺接口,返回
    return $http.get(baseUrl, { params: params });
};
錯誤使用

就像上面的這段代碼,屬于在Service中的公共方法,乍一看,可能看不出什么錯誤,我們注釋寫得好好的,我要個什么什么對象,用的時候傳給我就好了。

編碼常有失誤,如果他人不小心傳了個undefined進來。

var params = {
    districtId: district.id,
    departmentId: department.id,
    disciplineId: discipline.id
};

然后我們這段代碼就是從undefined中獲取屬性,就會拋出錯誤。

當然,以軟件工程師的驕傲,他不是先考慮自己哪里寫錯了,而是認為你這個公共的方法有問題,然后找寫這個方法的人進行激烈地討論,浪費了半個小時發(fā)現(xiàn)原來是參數(shù)傳錯了。這嚴重地影響了開發(fā)的效率。

參數(shù)校驗

所以我們的公共方法既要寫注釋,讓人能看懂,也要對每一個傳入的參數(shù)表示“懷疑”。

公共方法,可能會有很多人使用,為了減少參數(shù)傳錯造成的時間浪費,所以我們需要在我們的邏輯真正地執(zhí)行之前,對傳入的參數(shù)進行校驗。

我們可以對這幾個傳入的區(qū)域、部門、學科對象進行校驗。

if (!district) {
    throw "未接收到區(qū)域信息";
}

這樣,如果我們沒有傳該參數(shù)或傳入一個undefined,我們的控制臺就會報錯,提示開發(fā)者“未接收到區(qū)域信息”。

這樣,開發(fā)者就能準確而快速地定位錯誤,自己這個方法用錯了,并且根據(jù)提示,是自己的區(qū)域信息傳錯了,這就減少了互相爭論與講解的成本。

公共方法隨手throw一條提示信息,節(jié)約程序員debug的萬千時間。

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/107794.html

相關文章

  • 是誰弄臟了我的代碼

    摘要:前篇文章一發(fā),立馬有程序猿說解氣呀,我也待在這樣的一個公司,所以我怎么能做出好的東西呢。現(xiàn)在不噴產(chǎn)品不噴測試不噴領導,僅僅從程序猿的角度說說,你都有做過哪些湊合的事,然后就湊出了一鍋粥。這種無組織無紀律的行為是壓垮駱駝的那根稻草。 前篇文章一發(fā),立馬有程序猿說:解氣呀,我也待在這樣的一個公司,所以我怎么能做出好的東西呢。 呵呵,那你誤會我的意思了,我可沒說哪種公司不好,我覺得經(jīng)歷過的...

    tomener 評論0 收藏0
  • 是誰弄臟了我的代碼

    摘要:前篇文章一發(fā),立馬有程序猿說解氣呀,我也待在這樣的一個公司,所以我怎么能做出好的東西呢?,F(xiàn)在不噴產(chǎn)品不噴測試不噴領導,僅僅從程序猿的角度說說,你都有做過哪些湊合的事,然后就湊出了一鍋粥。這種無組織無紀律的行為是壓垮駱駝的那根稻草。 前篇文章一發(fā),立馬有程序猿說:解氣呀,我也待在這樣的一個公司,所以我怎么能做出好的東西呢。 呵呵,那你誤會我的意思了,我可沒說哪種公司不好,我覺得經(jīng)歷過的...

    yanest 評論0 收藏0
  • 19年一些微小的計劃

    摘要:是今年一定要學的東西這兩年頁面上用的三方組件多了,寫的少了,的一些屬性不太記得了,針對的學習計劃有兩個參照的樣式進行學習參照的組件樣式,學習如何處理樣式與組件之間的關系,規(guī)范自己的寫法。 磕磕絆絆工作有幾年了,前端界幾乎每天都有新名詞,令人眼花繚亂,目瞪狗呆。這兩年一直在外包工作,業(yè)務寫的多些,對js的基礎掌握的還不是很到位。最近深感技術嗅覺遲鈍,雖然平時也有看書學習,更多的時候都是斷...

    harriszh 評論0 收藏0
  • 顛覆微服務認知:深入思考微服務的七個主流觀點

    摘要:筆者對微服務系統(tǒng)的觀點是,我們從單體系統(tǒng)向微服務系統(tǒng)改造的過程中,需要認真思考什么階段使用微服務。此外,為了解決服務部署,我們可以考慮通過滾動發(fā)布來實現(xiàn)服務的無中斷。事實上,微服務保證其服務的整體可用性。 原文地址:梁桂釗的博客博客地址:http://blog.720ui.com 歡迎關注公眾號:「服務端思維」。一群同頻者,一起成長,一起精進,打破認知的局限性。 一、逃離單體系統(tǒng),...

    XanaHopper 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<