摘要:怎么樣才能把項目做的好一點或者更好首先,在老板看來,他肯定希望今天提的需求可以立馬就上線。關于注釋注釋是有必要的,這個對個人和他人都是有好處的。
之前做開發的時候對項目完全沒有一個整體的思考,需求來了就知道做,只關心自己做的那部分的功能,做完拉到。但最近所做的項目中,遇到了不少問題,自己都忍不住吐槽起來了。如:項目經常性延期、代碼冗余、添加一個很小的新功能都需要改動很多地方,還對之前的代碼邏輯產生不小的影響。這使得我不得不對現有的項目進行思考。
怎么樣才能把項目做的好一點或者更好?
首先,在老板看來,他肯定希望今天提的需求可以立馬就上線。
然后,老板希望我們做出來的產品有很好的用戶體驗,有良好的性能。
最后,希望系統能夠穩定運行,出問題時能夠盡快修復。
當然,這只是我腦補出來的(我個人的想法,至于老板是不是這么想我就不清楚了)。
從技術上來說就是:
可以快速搭建
擁有比較好的性能
邏輯清晰,易于維護、拓展
快速解決線上問題
如何進行快速搭建?一、組件封裝:公共樣式、邏輯提取。
有時候,我們需要做一個統一的自定義彈窗樣式,或者自定義的下拉框等。我們封裝成公共組件之后,其他地方需要用到時,只需引入組件和傳入數據即可使用,不需要再重復的去寫樣式或者邏輯。有些甚至不需要設計再重新出圖,利用組件就可以完成我們的頁面開發了。
封裝前:
多個頁面中,同樣的頁面樣式和js邏輯無法復用,需要在每個頁面中進行代碼的復制粘貼,很可能會漏掉部分代碼。發生樣式或者js邏輯改動時需要每個頁面都改一遍,很容易漏掉。
封裝后:
可進行代碼復用,多個頁面中,同樣的頁面樣式和js邏輯直接引用封裝好的組件即可。發生樣式或者js邏輯改動時,只需要改一個地方即可。
二、 項目的基礎搭建
新開一個項目的時候我們都需要先去做一些基礎搭建,比如說:項目目錄結構、登錄模塊封裝、http請求處理和其他輔助小工具等等。這些東西我們可以做成一個npm包,發到公司內部的私有倉庫里,使用的時候直接一個npm install 就可以快速的完成項目的基礎搭建了。
深入理解產品需求,將功能邏輯劃分,對應成相應的代碼邏輯:
哪一部分樣式可以封裝
哪一部分功能可以封裝
頁面里各個邏輯的關系:點擊一個按鈕,頁面中的其他展示要如何變動
各個頁面之間的邏輯關系:在當前頁面操作,其他頁面需不需要做出相應的變動
如果開發時不看需求文檔,到了最后除了撕逼之外還得返工。
與其他功能模塊對接時盡量多考慮,做成可拓展的通用模塊。與某個模塊對接時,如何與當前模塊完成對接是我們首要考慮的事情。考慮完這方面的事情之后,我們還要考慮一下再有另外一個模塊或者多個模塊接入時我們要如何才能在代碼改動量最小的情況下進行快速接入。
關于注釋:
注釋是有必要的,這個對個人和他人都是有好處的。自己一個月之前寫的代碼,沒有注釋再回去看時可能也不太懂,何況是別人呢。
如果可以的話,每個js文件的開頭簡單描述下當面頁面的功能邏輯,讓維護的時候能快速的了解到當前頁面上的東西。
關于文檔:
大家都去遵循一定的規范才能更好的去共同創造/維護一個東西,這些規范形成之后一定要遵循下去。當一個新的小伙伴加入到我們的時候,我們不可能把每一個規范都口頭的跟他講一般,我們自己也記不住那么多規范。所以,將這些規范整理成文檔很有必要,記不清楚或者不了解的時候可以重新去翻一翻。還有我們封裝好的組件,其他人使用的時候也不可能花時間去看看你的源碼,或者總是來問你要怎么用。這樣會很浪費大家的時間,阻礙整個項目的進度。所以,組件的用法、入參/出參、注意事項等等我們都需要再文檔里面描述清楚。
根據當前做的項目,使用的技術棧,找出引起性能問題的點,逐個進行優化。就拿我當前做的這個原生小程序來說,性能問題主要在以下幾點:
頻繁的調用setData。
在后臺進行多個數據請求并進行多個頁面setData操作。
首次加載小程序時包下載比較慢。
解決方案
問題1: 避免頻繁的setData, 將可以合并的setData合并,不在頁面渲染的變量不在data里聲明,在page下的其他字段里聲明即可
問題2: 當面頁面的改動需要刷新其他頁面時,不需要立即對其他頁面進行數據刷新的動作,給需要刷新的頁面加個標識,等到該頁面顯示時通過onShow聲明周期來判斷并刷新 數據。
問題3: 使用小程序的分包加載,加載首頁時只需先下載分包即可,提高首頁加載速度。
遇到線上的bug應該快速的響應和積極的定位問題出現的原因,從根本上去解決問題,而不是說這不是我的問題,我不用管。
盡早發現問題,在造成更大的影響之前解決問題:
自行搭建一個錯誤收集系統,收集js腳本錯誤和接口請求錯誤的相關信息,為定位問題提供幫助,還可以根據錯誤的峰值來檢查當前系統是否異常。怕麻煩,圖省事的還可以花錢使用fundebug。
日前能想到和記得的就只有那么多吧, 先記著,以免遺忘。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/96896.html
摘要:怎么樣才能把項目做的好一點或者更好首先,在老板看來,他肯定希望今天提的需求可以立馬就上線。關于注釋注釋是有必要的,這個對個人和他人都是有好處的。 之前做開發的時候對項目完全沒有一個整體的思考,需求來了就知道做,只關心自己做的那部分的功能,做完拉到。但最近所做的項目中,遇到了不少問題,自己都忍不住吐槽起來了。如:項目經常性延期、代碼冗余、添加一個很小的新功能都需要改動很多地方,還對之前的...
摘要:年云棲大會在杭州舉行,據主辦方介紹本次云棲大會吸引了五萬多人參會,但是在密集的會議中又有哪些亮點值得關注領導致辭很無聊每次重要的大會,都離不開一些政府要員們的參與,但是在高新技術的互聯網,云計算,大數據領域真心不敢恭維,除了讓整個會議前半場 2016年云棲大會在杭州舉行,據主辦方介紹本次云棲大會吸引了五萬多人參會,但是在密集的會議中又有哪些亮點值得關注?領導致辭很無聊每次重要的大會,都離不開...
摘要:上次翻過一篇我是如何在自學編程個月后找到工作的,是一個編程自學者的經驗之談。如果你想通過學習編程來改善你的生活,你不該總想著這些快速成功的案例。 有人問我, Reddit 是什么網站,我想了下說: 美國貼吧 。 但話說回來,關注了一陣子我發現,Reddit 上的討論真要比貼吧不知道高到哪里去了,甚至比不少知乎回答要有價值。而且感覺下面的討論氛圍也更好些。 我在上面關注了 learnpr...
閱讀 2225·2021-09-22 15:25
閱讀 3610·2019-08-30 12:48
閱讀 2197·2019-08-30 11:25
閱讀 2332·2019-08-30 11:05
閱讀 720·2019-08-29 17:28
閱讀 3279·2019-08-26 12:16
閱讀 2601·2019-08-26 11:31
閱讀 1683·2019-08-23 17:08