當前位置:首頁 » 網頁前端 » 如何確保前端開發質量
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

如何確保前端開發質量

發布時間: 2022-05-29 23:36:48

1. 作為一個前端,如何提高自己的水平

第一,獲取相關信息。可以通過瀏覽招聘信息或者詢問身邊從事前端工作的朋友來對HTML5大前端以及前端開發的工作內容進行一個初步了解。一般來說,前端開發工程師的工作包括:使用HTML、CSS、JavaScript等專業技術和工具將UI設計稿實現為用戶PC端、移動端網頁等網站產品,同時處理相關埠的視覺和交互問題等。
第二,打好學習基礎很重要。Web前端入門學習的基礎內容有HTML5和CSS3,其中包括PC端網站布局、Weapon頁面布局兩方面。JS交互設計是重點學習部分,這部分需要熟練掌握JavaScript基礎語法、JavaScript進階、JavaScript高級編程、Conquer經典案例等內容。再有前端框架也是重點知識點,現在比較主流的框架有Cue、React、Angular,熟練運用框架可以提升開發效率。
第三,理論結合實踐。緊跟潮流發展也很關鍵,現在微信小程序和小游戲越來越流行,掌握相關技術點可以在崗位競爭中更具優勢。比如熟悉React Native技術對於小程序開發很有必要,它可以實現熟練開發出匹配項目需求的功能。
最後,找對適合自己的學習方式至關重要。

2. 和傳統開發方式相比,飛算全自動軟體工程平台如何保證開發質量

近年來,隨著雲計算和AI技術的持續落地,數字經濟成為我國經濟發展的新引擎,企業自動化、數字化和智能化發展已是大勢所趨。但智能需求在飛漲,軟體從業人員增速卻在逐年下滑,同比增長速率已經從2014年的16.1%下滑到4.3%。這意味著我國軟體產業的進一步成熟,卻也表明為軟體開發流程解綁,為開發者賦能已然刻不容緩。
北京時間11月17日,飛算全自動軟體工程平台產品的發布便為軟體開發流程的管理提供了新的解決思路。據發布會現場介紹,該產品有望促進軟體行業發展進入新的階段,實現標准環節的全自動化,能夠實現新一代軟體業技術規范,保障數據安全;最為關鍵的還在於,其可解決企業在軟體工程方面的人才缺口問題,實現降本增效,加速數字化轉型
粗略來看,當研發部門拿到了來自產品的需求之後,他們需要先進行需求分析和系統架構設計。同時如果企業規模大並發高,那麼時下流行的微服務架構則變得必不可少,還需要進行前端界面開發、技術服務支撐系統開發、業務系統開發、AI系統開發、數據系統開發等一系列工作。在完成研發工作後還需要進行系統測試以及運維保障系統的維護,如果對外還有需求,那麼開發工作還將更加艱難。
如果只是研發工作量大倒也罷了,但是因為項目是人在開發,所以一系列問題接踵而至。因為高端人才的缺失,開發者招聘尤其困難,技術依賴性很強,而且優質人才管理也是個問題;高端人才不足自然會導致代碼質量不高,很多編碼內容可讀性差、可維護性差且重復度高。
代碼質量低,自然會帶來很多的重復性難題,開發者需要根據不同的架構和業務規模進行適配,再加上開發工作量的硬性需求,開發周期不可避免被拉長;開發周期拉長,開發者不免要加班,人力成本、運維成本、軟硬體投入以及溝通成本又沒有降下來。

3. 前端開發的難點到底在什麼地方

  • 不同級別的前端面臨的難點各不相同,不可一概而論;

  • 業務開發的前端難點在於對業務的理解和把控能力;

  • 平台開發的前端難點在於產品化的把控和推進能力。

  • 觀點1:不同級別的前端面臨的難點各不相同,不可一概而論。

    其他回答有說 CSS 難,有說 CSS 不難的,每個人水平不同,這樣爭論毫無意義。我剛學前端時覺得 JS/CSS/瀏覽器兼容問題都很難,現在覺得也就那樣,因為前端路子廣,辦法總比問題多。後來覺得要評估好需求,把控好項目質量比較難,很多時候我們是在幹事,在解決問題,不是只埋頭寫代碼,時間一長你會發現前端工作中,技術問題往往比較好解決,反而資源+協作問題比較麻煩。現在對我來說比較難的是快速產品化的能力,如何從無到有去做出一些有價值的東西。

    舉一個簡單粗暴的例子吧:阿里前端很多,P5/P6 一大把,但是 P8/P9 的非常少,為什麼?進階的難點在哪裡?

    前端開發的難點跟前端進階的難點是非常相似的。阿里對每個前端層級都有一個標准,這也從側面回答了這個問題,比如對 P5 來說,難點可能是寫好業務代碼,保證其靈活性和可維護性,能解決各種適配問題;對 P6 來說則需要獨擋一面,能獨立 owner 需求,而 P7 則需要在某方面技術有深入理解,等等。

    能提出這個問題首先得恭喜題主,說明題主在當前階段遇到瓶頸了,需要向下一個 level 出擊了。

    觀點2:業務開發的前端難點在於對業務的理解和把控能力。

    業務邏輯開發本身並不是難點,誰都可以寫。但是對於你自己負責的這塊業務,後續業務的發展方向和潛力,你有去了解過嗎?當業務方提需求過來時你是只負責執行還是和業務方一起探討更合理的方案?你有沒有給自己負責的產品提過一些建議?做過一些改善措施?如果前端只是作為一個執行者,作為一種被調度的資源,那麼即使最終項目取得了好的成績,跟你有多大關系?你自己會有多大的成就感?

    另外一個很重要的點:就是對業務的把控能力。業務方總是會催著上線,開發時間不斷被壓縮該怎麼辦?進度不如預期怎麼辦?開發遇到瓶頸怎麼辦?發布新功能翻車了怎麼辦?

    我見過有默默加班保證進度的,也有跟需求方重新談延期的,有發布出問題手足無措的,也有自己默默修復的,有遇到瓶頸一籌莫展的,也有及時跟老闆溝通,跟業務方撕逼的… 如何優雅的處理這些問題,有時候比寫代碼更難。為什麼有的人業務代碼邏輯混亂,寫的一團糟?我不相信是智力問題,反倒更相信是對項目本身沒有把控好,本來排了5天工作量的需求被業務方壓到了3天,你還能保證寫出健壯而不失風度的代碼?

    觀點3:平台開發的前端難點在於產品化的把控和推進能力。

    做業務時有人給你提需求,幫你出交互視覺稿,你只要負責寫頁面就行了。但是在支付寶前端,很多內部平台和技術產品都是技術自己主導,你需要自己發現問題,出方案,設計資料庫,自己出頁面,這是一個從無到有的創造的過程。並且要保證你做的東西是真正解決問題的,而不是做一些自己覺得很牛逼實際上並沒有解決用戶痛點的東西,用我老闆的話說就是對產品的把控能力,不要跑偏了。前端是最容易做出產品化東西的工程師了,因為後端不會做 UI,UI 不會寫代碼,唯前端兼顧,這是最大優勢。

    再一個就是對產品的推進能力了,你做的東西可能需要各種資源?如何爭取?可能牽扯到多方利益?如何權衡?東西做出來了如何推廣?如何在用戶的一片罵聲中奮勇前進?

    印象中很多平台型產品,剛開始投入使用時都是一片罵聲,各種問題,說實話負責這些產品的程序員壓力是相當大的,天天被罵還得徹夜幫別人解決問題,還得不斷優化系統,你說難不難?

    以上三點就是本文所展現的理念,希望能對大家有幫助。

4. 大家有哪些提高前端代碼質量的辦法

如果這個話題開始深入的話,應該說是差不多三年前了。如果它是從一個淺的研究開始,它應該追溯到2004年到2005年。說什麼去學習,去做真實的事,去愛一些東西,實在是太過分了。至於互聯網,它對電腦很感興趣,所以它也很有希望能更早的接觸到這個行業。但過去幾年的經驗並不是給自己貼上標簽,定期改善或改變你的位置。這有助於擴展你的思想。遵循上面的前輩,我也討論時間軸。

開始接觸js框架源碼,研究了幾個月收獲寥寥,這期間也學習了canvas做了些H5小游戲,不過總體來說意義不大,然後認識了師傅以後,指導了我學習了面向對象思想,《冒號課堂--編程範式和OOP》看了4遍,學習了很久UML建模和面向對象基礎,然後補充了css的基礎,找了個全棧實習工作,第一次了解到linux伺服器和後端開發,從此瘋狂的迷戀linux和vim,補充了計算機網路知識後,學習了nodejs、sass、angular和gulp搭建了個人博客。大四下學期研究jquery源碼,畢業。

總之還是多總結經驗吧。

5. 前端工程師怎樣提高開發效率

前端工程師其實是一個工作很雜的職位,除了要負責切圖、寫html/css/js外,還要處理一系列的瀏覽器兼容性問題、優化網頁性能等,所以提高前端工程師的開發效率是勢在必行的,也是前端共工程化的體現。那麼如何提高便可以按照前端工程師涉及的工作點來進行劃分。下面我就介紹下平時我在工作中使用的一些提高開發效率的方法。



當然除了以上5點,對於前端來說需要提高開發效率的地方還有很多,可謂任重而道遠。希望以上幾點能夠給初識前端的同學帶來啟發並能夠親自實踐。

6. 怎樣做個合格的Web前端開發

首先,優秀的Web前端開發工程師要在知識體繫上既要有廣度和深度!Web前端開發在產品開發環節中的作用變得越來越重要,而且需要專業的前端工程師才能做好。

Web前端開發是一項很特殊的工作,涵蓋的知識面非常廣,既有具體的技術,又有抽象的理念。簡單地說,它的主要職能就是把網站的界面更好地呈現給用戶。

其次,優秀的Web前端開發工程師應該具備快速學習能力。Web發展的很快,甚至可以說這些技術幾乎每天都在變化!如果沒有快速學習能力,就跟不上Web發展的步伐。前端工程師必須不斷提升自己,不斷學習新技術、新模式;僅僅依靠今天的知識無法適應未來。Web的明天與今天必將有天壤之別,而前端工程師的工作就是要搞清楚如何通過自己的Web應用程序來體現這種翻天覆地的變化。

再者,優秀的前端工程師需要具備良好的溝通能力,因為前端工程師至少都要滿足四類客戶的需求。

7. 如何提高前端工作效率

1. 保證界面及用戶體驗的前提下,寫代碼的速度是第一要務
不要拘泥於什麼技術可用,什麼技術不可用。讓它在最短的時間內跑起來,在用戶體驗的過程中完成迭代升級。利用高速的開發流程,為項目創造競爭優勢。有些可以用CSS實現的東西,沒必要掛JS。然後還跑過來問「我不想用CSS,這段JS為啥不能隱藏滾動條?」這種開發者,不僅是自虐,還是在虐待訪客的電腦。
針對某些要求1小時上線的變態項目,大可以用PS直接生成html,什麼是標准?什麼是規則?這些都是輔助我們製作網站的建議,當我們有實際需求的時候,大可以打破這種標准。標準是人制定的,前端開發者的追求目標,應該是去做制定標準的人,而不要被標准所束縛。當我們有實際需求的時候,當伺服器被拖慢速度的時候,不用誰來指揮,自然會去想如何降低帶寬壓力。讓你的團隊自發思考,勝過於你拿各種標准來壓迫執行。
負面影響:招聘的難度會大大增加,除非每個員工都有股份、或者是你親自教出來的。不然,拿同樣多的薪水,很少有人會自發思考公司的業務。另外,迭代的開發成本也會很高,純靜態展示頁還好,載入程序的頁面進行結構調整,會增大員工的工作壓力。注意僅在合適的項目上玩速度。

2. 開發人員和業務人員盡可能天天都在一起工作
在團隊內部,最具有效果並富有效率的溝通方式,就是面對面交談。
QQ或者MSN,沒有任何的語氣語調,無法更直接的表述業務的著重點在哪裡。容易產生誤會。
開發過程中,要避免晦澀的文檔及專業術語。每次溝通帶上紙筆,說不明白就畫,畫不明白就抓一個業務坐你身邊,讓他看著做。領導層要給他們提供所需的環境和支持,有可能的話,抓一個領導坐在身邊。減少交接的流程,簡化開發文檔。一個好的文檔,是讓開發人員明白每一步的要求是什麼。而不在於文檔字數的多少。沒有文檔更好,只要你能給團隊講清楚。

3. 即時響應,高效開發
在某些領域,為什麼一些很小的網站可以戰勝大的公司?
他們不遵循守則,他們無需層層審批,他們發現什麼好的技術可以直接應用到自己的網站上。說服經理,即使很順利,也需要一個說服的過程。況且有很多計劃會夭折在領導層的審批上。用人不疑,如果你有一個不大的項目,如果你有一個可以信任的人,放手讓他去做。這個有執行力的人,一定要選好。做正確的事情比做錯誤的事情要困難很多。

8. 如何提升前端開發速度和效率

時間管理

  • 不同的時間段做不同的事。頭腦清醒的時候,做一些難的事情;狀態欠佳的時候,做一些簡單的事,或乾脆出去走走,休息休息。

  • 做事時要專注。在我們專注做事時,要減少外界的干擾,比如帶上耳機,將手機開靜音。如果此時有人來打擾,稍後來處理他的事情;如果事情比較緊急,則記錄下當前的狀態,方便切換回來的時候,能迅速進入狀態。我們可以嘗試使用番茄工作法:在一段時間內(一般是25分鍾),只做一件事情,結束後,休息一會,繼續做事,以此循環。

  • 不做不必要做的事

  • 實現不靠譜的需求。拒絕不靠譜的需求。

  • 理解需求出現偏差。對於不理解的需求,要及時和 PM 溝通,不要自己揣測。

  • 做與整個項目風格不一致的頁面。如果設計師的設計的和當前項目的風格不一致,與其溝通,看是否能用項目中統一的風格(樣式)。

  • 想清楚實現思路後,再開始編碼。有時候一個好的演算法比一個差的,會簡單很多。

  • 重復造輪子。

  • 一拿到項目就開始編碼。應該熟悉當前項目所用的技術。避免重復實現項目已經實現過的功能。

  • 優化做事的方式

  • 重復的事情讓程序來做。

  • 項目腳手架生成器。基於此快速搭建一個項目。主流的框架都有 xx-cli 項目。也可以用 Yo 自己搭建一個。

  • 自動添加瀏覽器前綴。可以用 AutoPrefix。

  • 自動生成圖片精靈。可以用 Compass。

  • 一鍵切圖。可以用 Cutterman。

  • 代碼改變時,瀏覽器自動刷新。

  • 代碼發布前做的一些事情。代碼壓縮,合並等。

  • 選用合適的框架和第三方庫。

  • 用好軟體。

  • 安裝一些代碼補全插件。如 Emmet, Bootstrap Snippents 等

  • 設置一些命令的簡寫。如,git 可以配置一些簡寫。

  • 快速定位到項目中的某文件;某方法。

  • 全局搜索,替換。

  • 等等。

  • 熟悉常用快捷鍵。

  • 敲更少的代碼。

  • 能快速啟動常用軟體。

  • 減少查找的時間。

  • 保持工作環境的整潔。丟掉不用的東西,刪除不用的文件。

  • 常用鏈接的導航。

  • 常用第三方組件整理。我積累了一些,見這里。

  • 自己寫的代碼參考示例。

  • 文檔聚合網站。devdocs。

  • 其他

  • 兩個顯示屏。

  • 保持身體健康。

  • 做事時,保持一個積極的心態。

9. 前端開發工程師的三要素

Web前端開發技術包括三個要素:HTML、CSS和JavaScript,但隨著RIA的流行和普及,Flash/Flex、Silverlight、XML和伺服器端語言也是前端開發工程師應該掌握的。Web前端開發工程師既要與上游的交互設計師、視覺設計師和產品經理溝通,又要與下游的伺服器端工程師溝通,需要掌握的技能非常多。這就從知識的廣度上對Web前端開發工程師提出了要求。如果要精於前端開發這一行,也許要先精十行。然而,全才總是少有的。所以,對於不太重要的知識,我們只需要「通」即可。但「通」到什麼程度才算夠用呢?對於很多初級前端開發工程師來說,這個問題是非常令人迷惑的。
前端開發的入門門檻其實非常低,與伺服器端語言先慢後快的學習曲線相比,前端開發的學習曲線是先快後慢。所以,對於從事IT工作的人來說,前端開發是個不錯的切入點。也正因為如此,前端開發領域有很多自學成「才」的同行,但大多數人都停留在會用的階段,因為後面的學習曲線越來越陡峭,每前進一步都很難。另一方面,正如前面所說,前端開發是個非常新的職業,對一些規范和最佳實踐的研究都處於探索階段。總有新的靈感和技術不時閃現出來,例如CSS sprite、懸浮定位、負邊距布局、柵格布局等;各種JavaScript框架層出不窮,為整個前端開發領域注入了巨大的活力;瀏覽器大戰也越來越白熱化,跨瀏覽器兼容方案依然是五花八門。為了滿足「高可維護性」的需要,需要更深入、更系統地去掌握前端知識,這樣才可能創建一個好的前端架構,保證代碼的質量。

10. 如何讓後端開發高質完成前端的工作

這個問題其實是讓前端開發工作如何做到邊際成本遞減,這里的成本是開發一個功能投入的前端工程師的專業性來衡量的,而不是獲得用戶的成本。所需前端工程師的專業性越低,後端工程師越有可能參與。

個人認為這是一個可行的目標,只不過阻力太大。下面結合自己在知乎短暫實驗的經驗(經驗並非來自前端),大膽暢想一下。

1. 首先,要求流程上的每個環節對邊際成本有清晰的認識,對達到邊際成本遞減的目標達成一致。任何一個流程不配合,其他流程降低成本的努力可能就付之東流。在實施上必須有管理層配合,能夠立項效果最好;

2. 第二步,是統一交互模式。通常交互模式決定了前端的核心的框架,比如表單提交還是 AJAX, 頁面局部刷新還是全局刷新,對話框採用 Apply 模式還是立即生效模式等等。你們的產品經理和交互設計師必須知道這些約定,並且保證在日後的迭代過程中保持一致,不能隨意變化;

3. 第三步,設計封裝性、復用性良好、松耦合的組件框架,並且建立一套全團隊認可的組件庫。要達到 PM、設計師、工程師都知道每一個新功能是否會在組件庫里增加新組件,尤其是基本組件(指不能僅通過組合開發出來的組件),增加多少。組件的增加可以用來衡量你們開發的邊際成本。同時,組件庫要成為 PM 和設計師設計新功能的第一素材庫;

4. 當一個新功能沒有新增基本組件時,那麼開發工作就變成了搭積木。後端工程師都是擅長多語言和重構的人,只要前面提到的組件框架設計水平有保證就行;

5. 讓後端工程師能夠獨立組合出新組件,甚至能夠開發出新的基本組件,就讓其技能達到了發展和肯定。

其實可以看出來,後端參與前端開發並高質量的完成任務,對後端的要求並不高,對前端架構本身、項目管理、PM 和設計師的要求倒是蠻高的。