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

資訊專欄INFORMATION COLUMN

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

Jenny_Tong / 2141人閱讀

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

公共方法

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

相關(guān)文章

  • 是誰弄臟了我的代碼

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

    tomener 評(píng)論0 收藏0
  • 是誰弄臟了我的代碼

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

    yanest 評(píng)論0 收藏0
  • 19年一些微小的計(jì)劃

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

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

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

    XanaHopper 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<