国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

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

Jenny_Tong / 2147人閱讀

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

公共方法

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

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

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

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

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

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

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

參數(shù)校驗(yàn)

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

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

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

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

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

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

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

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

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/107794.html

相關(guān)文章

  • 是誰弄臟了我的代碼

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

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

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

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

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

    harriszh 評論0 收藏0
  • 顛覆微服務(wù)認(rèn)知:深入思考微服務(wù)的七個主流觀點(diǎn)

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

    XanaHopper 評論0 收藏0

發(fā)表評論

0條評論

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