vue組件設(shè)計(jì)筆記---穩(wěn)定篇

如果說后端的特點(diǎn)是以數(shù)據(jù)為核心媳拴,那么前端的特點(diǎn)就是能在保證穩(wěn)定性的基礎(chǔ)上做的快速迭代

如何做到穩(wěn)定呢黄橘?以下是自己的總結(jié)

1. 將組件原子化

按功能來說就是一個(gè)組件的功能越單一越好,比如下圖搜索欄
image.png

功能單一則不易出bug屈溉,也有利于組件的組合復(fù)用塞关,拼接成功能復(fù)雜的組件

2. 明確組件的應(yīng)用場景(一個(gè)組件只對應(yīng)一種場景)

參考上圖,某天要改成另一個(gè)場景要怎么辦子巾?帆赢,在原組件上改小压,加參數(shù)判斷?如果傳1就顯示第一個(gè)椰于,如果傳2就顯示第二個(gè)怠益?還是另外新建一個(gè)組件?
我更推薦第二種方法瘾婿,如果在原組件上改很可能導(dǎo)致其他應(yīng)用了該組件的場景產(chǎn)生新的bug(風(fēng)險(xiǎn)很大),如果類似的改變多了蜻牢,原組件會變得很臃腫、無法維護(hù)
但是直接新建一個(gè)組件也會導(dǎo)致新的問題偏陪,如果兩個(gè)場景功能類似抢呆,就會產(chǎn)生大量的重復(fù)代碼
比較上下兩張圖片我們會發(fā)現(xiàn),兩張圖片只是外觀變了笛谦,相同的是要實(shí)現(xiàn)搜索

image.png

所以我們可以再以上兩個(gè)應(yīng)用場景的基礎(chǔ)上抽離出一個(gè)基礎(chǔ)搜索欄組件


image.png

基礎(chǔ)搜索欄組件代碼(baseToolBox):
image.png

一下圖片是場景一的代碼(僅供參考):
image.png

image.png

看完代碼抱虐,要實(shí)現(xiàn)場景二的功能最好的方法是:基于基礎(chǔ)組件重寫一個(gè)組件,也可以重寫場景一組件slot(不推薦)

3. 歸納用戶的操作流程

寫代碼之前必須要做的事情饥脑,預(yù)防有未覆蓋的用戶操作梯码,如圖


image.png
4. 梳理邏輯,讓每一步都可預(yù)期
  • 熟知每一行代碼好啰,怕忘記就加注釋
  • 必須保證代碼的執(zhí)行順序轩娶,一般情況下隊(duì)列調(diào)用優(yōu)先級Promise.then(非異步)>setTimeout(默認(rèn)30ms)>異步
    例如a依賴b,則b必須在a之前執(zhí)行
    盡量少將有嚴(yán)格流程規(guī)定的代碼放入watch()監(jiān)聽框往、change事件中執(zhí)行鳄抒。例如場景一中的時(shí)間選擇組件,因?yàn)樗阉魇录强縞hange觸發(fā),就導(dǎo)致流程很不好控制椰弊,
    比如:第n次進(jìn)入組件時(shí)许溅,我希望清空搜索條件,然后在執(zhí)行查詢秉版,但是change事件的觸發(fā)條件是文本框內(nèi)的內(nèi)容改變了才會觸發(fā)贤重,這是不可預(yù)期的,比起change我更希望是click清焕;組件內(nèi)過多的用watch也是同樣的道理


    image.png
5. 寫代碼

注重規(guī)范

6. 測試

注重基礎(chǔ)組件的測試

7. 寫使用文檔

文檔是給自己看的也是給團(tuán)隊(duì)看的

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末并蝗,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子秸妥,更是在濱河造成了極大的恐慌滚停,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粥惧,死亡現(xiàn)場離奇詭異键畴,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)突雪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門起惕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來涡贱,“玉大人,你說我怎么就攤上這事惹想∨尾” “怎么了?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵勺馆,是天一觀的道長戏售。 經(jīng)常有香客問我,道長草穆,這世上最難降的妖魔是什么灌灾? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮悲柱,結(jié)果婚禮上锋喜,老公的妹妹穿的比我還像新娘。我一直安慰自己豌鸡,他們只是感情好嘿般,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著涯冠,像睡著了一般炉奴。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蛇更,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天瞻赶,我揣著相機(jī)與錄音,去河邊找鬼派任。 笑死砸逊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的掌逛。 我是一名探鬼主播师逸,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼豆混!你這毒婦竟也來了篓像?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤崖叫,失蹤者是張志新(化名)和其女友劉穎遗淳,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體心傀,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年拆讯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了脂男。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片养叛。...
    茶點(diǎn)故事閱讀 39,779評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖宰翅,靈堂內(nèi)的尸體忽然破棺而出弃甥,到底是詐尸還是另有隱情,我是刑警寧澤汁讼,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布淆攻,位于F島的核電站,受9級特大地震影響嘿架,放射性物質(zhì)發(fā)生泄漏瓶珊。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一耸彪、第九天 我趴在偏房一處隱蔽的房頂上張望伞芹。 院中可真熱鬧,春花似錦蝉娜、人聲如沸唱较。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽南缓。三九已至,卻和暖如春荧呐,著一層夾襖步出監(jiān)牢的瞬間西乖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工坛增, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留获雕,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓收捣,卻偏偏與公主長得像届案,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子罢艾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,099評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理楣颠,服務(wù)發(fā)現(xiàn),斷路器咐蚯,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫童漩、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,098評論 4 62
  • 68270450#成功這件小事#這個(gè)神還是特別的接地氣啊春锋,跟哆啦a夢喜歡吃銅鑼燒一個(gè)道理矫膨,壞習(xí)慣也有,好習(xí)慣就靠他...
    桃空空閱讀 162評論 0 0
  • 近期,趙本山女兒球球在直播時(shí)對于觀眾提出是否整容這一問題做出了回應(yīng)侧馅,而球球?qū)τ谶@個(gè)問題并沒有深究危尿,反而大方的承認(rèn)自...
    首席娛記閱讀 205評論 0 0