摘要:這嚴(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
摘要:是今年一定要學(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í)候都是斷...
摘要:筆者對(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),...
閱讀 2441·2021-11-23 09:51
閱讀 1867·2021-10-13 09:40
閱讀 1372·2021-09-30 10:01
閱讀 590·2021-09-26 09:46
閱讀 2234·2021-09-23 11:55
閱讀 1385·2021-09-10 10:51
閱讀 2240·2021-09-09 09:33
閱讀 2228·2019-08-29 17:25