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

把控前端品質

發布時間: 2022-09-22 07:44:34

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

⑵ 前端需求控制應遵循怎樣原則

1.所有的測試都應追溯到用戶需求.2.應當把"盡早地和不斷地進行軟體測試"作為軟體測試者的座右銘.3.程序員應該避免檢查自己的程序.測試工作應該由獨立的專業的軟體測試機構來完成.3.設計測試用例時.應該考慮到合法的輸入和不合法的輸入.以及各種邊界條件.特殊情況下要製造極端狀態和意外狀態.比如網路異常中斷.電源斷電等情況.4.一定要注意測試中的錯誤集中發生現在.這和程序員的編程水平和習慣有很大的關系.5.對測試錯誤結果一定要有一個確認的過程.一般有A測試出來的錯誤.一定要有一個B來確認.嚴重的錯誤可以召開評審

⑶ 前端人員具備的基本能力有哪些

前端人員對事情的把控拿捏能力要很強,隨時隨地解決身邊不管是工作還是生活上的問題,遇事沉著冷靜,善於從多種角度思考問題,樹立完成宏遠目標的理想。

⑷ web前端開發人員如何規劃自己的職業

  1. 資深WEB前端工程師

    這個方向算是一個WEB前端最基本的選擇了,在國外,很多老外都能夠把自己的專業做到極致,能一輩子就在一個專業領域不斷學習和積累。WEB前端技術人員還是蠻浮躁的,通常會因為WEB前端知識的更新速度太快而覺得學習起來辛苦,最終轉向後台或其他道路。我個人比較推薦這個職業發展方向,因為,在這個方向下,只要 足夠耐心、厚積薄發,成功的概率是非常高的。同時,這是一條最單純的路,我們更多的是花費精力在技術的鑽研上,而不是辦公室政治等其它瑣事。

  2. 架構師

    很多人喜歡這個方向,因為既兼顧了工作的單純性、又能夠減少實際Coding的工作量能騰出更多時間鑽研技術。在國內,WEB前端工程師遇到較多的情 況是總是反復編寫著同樣的代碼,總是面對著同樣的技術和產品,容易感覺枯燥。由於我們擁有最為廣泛的WEB相關知識沉澱,使得我們更加容易成為一名架構師。這個職業發展方向不如第一種來得平滑,主要是作為一名架構師不得不學習:後端技術、DBA、Platform等內容。雖然不是很平滑,但是,對於一個大局觀好、悟性好、知識面廣的前端工程師,我推薦你們努把力,走一條光榮的架構師之路吧。

  3. 自己創業

    其實,自己創業是最好的道路、也是成功率最低的道路,挑戰和機遇並存。這里,作為一個前端技術人員,需要將自己的視野更多放在行業的動態、產業鏈的動態、 相關產品領域的動態,把關注細節的優勢繼續保持,同時,增強自己把控一個產品乃至一個公司命運的能力。但是,這條道路和技術之路稍有分歧。

  4. 教學

    當水平和能力足夠高的時候,可以選擇自己開班或者加盟其他教育機構成為老師,他們歷經商業錘煉,有很高的職業素質和個人修養,專業水平大多數都遠遠超過國內的大學。老師們把自己畢生所學傳授出去,和後輩們分享個人經驗和人生感悟。這條路相對來說比較輕松。

⑸ 怎麼提升品質管理

導語:企業加強品質管理不僅能達到目標,還大幅度的降低了品質失敗成本率,目標管理成績突出。

怎麼提升品質管理

一、以預防品質異常為主,盡量將問題留在前端

1、全員進行品質意識培訓

對全彩盒課員工經常性的進行品質宣導,開品質會 議,舉行品質培訓,全面提高全員的品質意識。每一道工序都是由無數員工組合而成,全員的品質意識提升,使得每一道工序的品質失敗率都有所下降,這對生產帶來的好處是不可估量的。

2、每樣產品都有其特性,在事前做到深入了解產品的特性要求後,再根據產品特性要求提前做好規劃動作

掌握產品特性要求後再作業產品,能夠做到提前預防,從根源上杜絕了產品的品質異常。

3、試產參與,主管全程跟進

在了解產品特性後對產品進行試產作業,做到試產階段及時發現問題點,及時解決問題點,避免正式投入生產後出現品質異常導致人力、物料、時間上的不必要浪費。試產工作是預防品質異常的重要工作。

4、建立彩盒數據中心庫

針對每個工單的在制狀態,做到上下工序無縫銜接,使得數據異常能夠及時得到處理,避免因數據問題造成的品質失敗;同時與倉庫銜接做到零誤差作業。

5、根據客戶利潤點分析

根據產品的利潤分成,做品質標准區分。

6、適才適崗,選對人,做對產品

根據產品的難易程度,安排合適的人員去合適的崗位,進行人力的最優分配。

二、權責分明,做到及時發現、及時反饋、及時處理

1、制定機台定責任區域工廠。制定機長百分百負責機台達成效率;如出現產品品質異常,則機長與主扶手各自承擔50%責任。制定一線責任人機制能夠有效快速且及時的規避異常,處理異常,反饋異常,找出異常問題點,及時更正。

2、及時發現品質異常產品。發現品質異常產品及時反饋給上一相關部門,做到避免批量性錯誤,從源頭尋找錯誤。及時反饋,及時處理糾正。

3、可處理不良品及時找業務簽樣,內部進行修樣,進行塗色補液處理。

4、安排專門人員,負責檢查機長自檢機制,做到監督作用,既防止機長漏檢錯誤,又做到對機長的監督作用。

三、發生品質異常進行總結歸納,進行品質異常分析

1、數據分析。每周針對大金額重製問題,進行數據分析,從客戶、產品兩方面著手分析,從根源進行分析。區分產品的品質標准,確定產品的品質標准,最後進行專案控制,做到下次無重復問題產生工廠如何加強品質管理意識

2、對於因工藝無法避免的品質失敗,例如:擦花現象,對應到客戶端,與客戶進行溝通談判為工藝問題無法避免問題,用專業知識去說服、引導客戶接受。

3、針對性錯誤進行品質失敗分析會議。根據客戶標准製作,現場已發生的品質失敗案例,進行全員品質培訓,重點強調生產過程中易出現的異常,避免同一異常的重復發生。

四、獎懲結合,激勵員工提升品質意識

針對發現混料現象員工、發現上道工序異常員工,進行獎勵;同時對內部漏失混料行為,發生異常工序員工進行考核。

采訪過程中彩盒課張課長表示,彩盒課的每一道工序的成功離不開大家的辛苦作業,更離不開領導的正確領導與支持,並且堅信在方總的指導下,在甘副理的帶領下能夠更進一步,將彩盒課越做越好。

加強品質管理的措施

建立完善的品質控制系統

形成從供應商管理到製程品質管理,直至遠及客戶管理的整個品質管理鏈,環環相扣,從體繫上保證產品和服務的品質。比如質量管理體系就是一個全員參與、全面控制、持續改進的綜合性質量管理體系,它所規定的文件化體系具有很強的約束力,它貫穿於整個質量體系的全過程、使體系內各個環節環環相扣、互相督導、互相促進。

全員參與,落到實處

在一個公司里,質量問題和所有人密切相關,品管部門的工作是和所有部門的人一起來預防和監督。它包括高層領導的決心和公司和每一位員工的參與怎樣做好品質管理工作怎樣做好品質管理工作。

管理層與其高層管理者由於其特有的影響力,對一個系統能否順利推行起著舉足輕重的作用,而基層員工更應牢固樹立“質量第一”的管理思想,精益求精,做到好中求多、好中求快、好中求省,嚴格遵守操作規程,認真做好自檢和互檢,及時發現問題,將發現的.質量問題及時通知下一崗位,做到人人把好質量關,對產品質量要認真負責,確保表裡如一,嚴禁弄虛作假。

生產部管理人員則應認真培養一線工人的質量意識,而不是空洞的說“人人必須重視質量,有質量意識”,要揭示個人工作一個小小不符合要求可能給公司造成的轉化為金錢<看得見>的巨大損失,要求每個人做每件事時首先了解要求,並使所做的每一步符合要求,讓其明白這是對公司品質管理的一大貢獻。人是生產者,把握著產品質量的量度,是影響質量的主要因素,所以員工從思想上必須有所認識,意識到質量的重要性。

管制質量,重在預防

預防的本身必須能夠追溯到產品的開發設計,一個產品質量的好壞,其實開發、設計時已經決定了它的質量,製造過程只是去實現產品設計的過程,這就如同堵洪水,是在洪水到來之前建立堤壩、修防護林、搞環保建設呢?還是等洪水侵襲到家門口才去補救呢?很顯然,前者環保式的方法更經濟、實用。所以,一款新產品在投產之前必須經過試樣、試產到小批量生產個個環節都不應該省略,只有這樣才能將一些潛在的影響生產的質量問題控制在萌芽狀態,才能不斷完善、提高工藝能力。

品質文化建設

品質管理始終強調的是每個人的心態問題,要搞好質量,首先得具備端正的心態,然後認認真真做好每一件事,革除工作中的“馬虎”,從而形成一種品質文化、品質理念,品質是人做出來的,如果人對品質理念或態度出現偏差,則品質體系再完善、品質控制方法再先進,都是沒有用的怎樣做好品質管理工作品質管理。

注意事項:

品質管理主要取決於我們關於品質的理念和態度。當一個企業的每個人都這樣做的時候,那麼一種最優秀的品質文化產生了,這也是我們管理所要的最終目標。

⑹ 如何做一個好的前端重構工程師

其實,"好"與"壞"向來都是相對的,因為每個人眼中看待"好"與"壞"的標准不一樣,不如從自身的角度考慮一下:如何做一個好重構?

先來看一個平時我們遇到的最多的兩欄布局:

基本的html代碼:

來看具體的CSS代碼實現(忽略margin):

很明顯在保持同樣html結構的情況下,實現兩欄布局可以有多種CSS方案實現(左欄定寬),主要方向是用浮動或不用浮動,右欄定寬或者不定寬:

Qzone、朋友網、Facebook都給左欄浮動,唯一不同的是右欄的寫法,Qzone給右欄定寬並且浮動,而朋友網和Facebook則並沒有給右欄定寬也未浮動,而是利用了創建BFC並且為低版本IE觸發hasLayout的原理讓右欄自適應寬度。

Yahoo和Google兩欄都未用浮動,唯一不同的是Yahoo用了絕對定位的方法,而谷歌用了inline-block,Google已經宣布旗下一些產品放棄對IE8 的支持,所以Google可以大膽的使用inline-block去實現布局,不用去為其他低版本瀏覽器寫一大堆的hack。

這其中有最好的方案么?上面每一種方案都有各自的優劣,可能適合於某種項目背景,同樣選用的方案可能和用戶群體也有關系。雖然無論選用哪一種方案,從用戶層面來講,無法感知到,但我們不能因此去隨意的使用一種方案。

為了項目後期的易維護性和易用性,必須要選擇一種最佳的方案,而我們如果連基本的BFC、hasLayout這些知識都不了解便會顯得力不從心。同時要明確自己的定位:我們不僅僅是一個"切圖仔"或"美工",我們不能忽視一些障礙用戶群體,我們必須去使項目的代碼變得更優雅、更易用。雖然重構的基本崗位職責是:PSD轉html + css + js,但要知道僅僅做到這些還不算一個好重構,更好的溝通能力,更多的分享、思考和總結,如何正確的去關注一些前端的動態,這都是我們需要做的,當然最重要的還需要我們有一個樂觀的態度和幸福的心態,下面本人將詳細闡述到底如何做一個好重構,當然這只是鄙人的個人觀點,還請各位拍磚。

從專業角度:

明確的自身定位

目前國內將前端分為重構和JS開發的並不多,雖然PS是重構必用的一個軟體,但要知道重構不是"切圖仔",切圖只是重構工作內容的一部分。我們沒有理由因為自己是重構,而不去學習其他技術,因為你知道你不會干一輩子的重構,JS不能丟,同樣的對前端新技術要熟知。重構頁面時應該把大部分的時間花在頁面模塊的抽離、性能優化、易維護性、易用性的探索上,而應該花最少的時間去代碼實現。也許你寫出來的頁面有百萬級的用戶在使用,這里可能有障礙用戶,所以你要考慮各種用戶的感受與體驗,而不僅僅是局限於代碼的完成度上。

注重前端基礎技能

前端的基礎知識就像一個房子的地基,如果地基打不好,一旦遇到一點地震可能就會倒。同時也像一個城堡的各扇門,哪邊的門造的不好,敵人的槍火就可以馬上攻破,所以打好基礎是前端學習更多知識的基石。CSS屬性的特性、html標簽的語義化、JS的基礎知識、W3C的規范(塊格式化上下文、層疊上下文、框模型等),這些可以多花點時間去學習和鞏固,做到能正確合理的使用某個前端技術方案。

正確對待前沿技術

互聯網發展日新月異,前端技術更新也很快,當我們在學css2時,css3已經風靡全球,當我們在學css3時,css4已經被提上了日程。前端的路上永遠學無止境,所以在某項新技術誕生時,就需要我們正確的去審視。

在做好自己本職工作的同時,保持一顆學習的熱情,新技術可以嘗試使用,但請先一定了解為什麼要用這個新技術?使用這個技術能為我們帶來什麼改進?在前端技術上,永遠沒有最好的技術方案,只有最合適的技術方案。最新的不一定是最好的,舊的也不一定是差的,切忌盲目跟風學習新技術,要知道自己正在學的是否能夠學以致用。(筆者註:其實更多的時候並不是某項新技術,技術早就誕生,只是一個新的前端解決方案或標准被推動出來了,如CSS3其實在2003年就誕生了)

更好的溝通能力

我們每天可能要和開發、產品、設計、交互、測試等不同的人打交道,所以這就需要我們有一個更好的溝通協調能力,注重一個更好的溝通技巧,減少溝通上的成本。"一切以用戶的價值為依歸",這也正是互聯網行業所需要的一種理念,在與其他同事溝通時除了真誠待人以外,還需要多為用戶去考慮:我們真的需要這么做么?

有選擇的參加技術論壇

如果自己呆在一個小公司,前端人也不是很多,沒有一個很好的氛圍,那麼這時我們就只能通過兩種方式來拓寬人脈:網路和論壇。網路如QQ群、藍色理想等,而面對面的論壇無疑是最真實的一種拓寬人脈的方式。其實現在國內大的環境下,前端類的技術論壇我自己都數不過來,這時有選擇的參加一個論壇顯得尤為重要,而不該不管自己懂不懂、免費還是收費什麼論壇都去參加,其實適合自己的是最重要的。

關注瀏覽器廠商

10年前,IE統治了大半個地球,如今,其他的各大瀏覽器廠商已擠進全球化份額爭奪戰,最離不開前端的就是瀏覽器,關注瀏覽器廠商的動作與格局可以讓你擁有前瞻性的視角。一些瀏覽器廠商的開發者庫:微軟的MSDN,火狐的MDN,谷歌的開發者庫,歐朋(Opera)的開發者庫。另外可以關注下各瀏覽器廠商的推廣活動,火狐中國會在每一次推出新版本時有體驗活動,微軟的最新的IE10推出時國內也有推廣活動,可以了解這些新版本瀏覽器的特性以及對css3\html5的支持性如何。

更多的承擔和分享

在平時更多的去承擔一些額外的工作,譬如在重構團隊的協作規范、編碼規范上提出自己的一些合理化建議,輸出一些利於其他同事更快、更高效提升的文檔。平時在自己工作遇到了一些好的工作方法或者對一些新技術的研究可以拿出來和大家分享。重構的團隊氛圍很重要,誰都不希望呆在一個整天只管自己寫代碼的團隊,那樣不管對於個人還是團隊都是不利的。

更多的思考與總結

思考指的是"意識流",具體是我們在重構過程中的想法和理念,怎麼想決定了我們怎麼做。

作為重構,很多人拿到設計稿之後就是開始埋頭切圖,用各種"奇技淫巧"實現各種需求,我們甚至不會在拿到設計稿之後仔細的做一下分析:如何做一個合理的架構、如何抽取合適的模塊、如何用更優雅的方式和輕量的代碼實現頁面中的需求。

也許是目前大的環境下在催促著我們不斷的向前跑:各種前端論壇大多數都在講某個技術,糾結於某一技術細節的實現,講爛掉的性能優化,可很少有人去講該如何合理的選擇一個前端解決方案,如何解決重構中遇到的一系列不同場景中的問題,以及最重要的我們自己的職業生涯思考:我們是准備寫一輩子代碼么?

總結也叫"review",是復習、回顧的意思,review對於重構來講,顯得尤為重要,定期的項目回顧能夠發現項目中存在的問題從而規避以後再次出現。

當然項目回顧是一方面,更重要的是代碼層面的review,不定期的review可以促使我們在一些代碼的細節把控方面做的更優雅,review除了可以提高代碼的品質外,還能加強團隊的協作精神,以及提高團隊的整體技術能力。顯然這是一件非常有意義的事。團隊成員可以在一起review大家的代碼,發現每個人身上的不足和亮點,不然我們真的是只管埋頭自己代碼的苦逼代碼仔了。

從生活角度:

保持閱讀的熱情

網路的信息是碎片化的,在我們沒有很好的梳理碎片能力的時候,一本實物書籍對於慰藉我們的心靈顯得尤為重要。有時生活、工作會讓人壓的喘不過氣來,這時,我們需要去尋找一種方式去釋放壓力,嗯,閱讀是一種很好的方式。

堅持一項運動愛好

平時工作太忙時,切記一定要改變自己的工作方法,梳理好需求的優先順序,預留出一定的時間來放鬆自己,這個放鬆一定要讓自己的筋骨活動開,可以是去打打羽毛球,或者去跑步,再或者去健身。只有讓自己的身體變得強大起來,才有更多的能量值去砍怪升級。

保持樂觀的生活態度

善於捕捉生活中的一些細小的幸福顆粒,我們就會經常活在快樂中。上次在騰訊健康加油站聽了一次關於生活的分享,其中提到"生活就像燉雞湯,有時需要加點調料和沾料",的確,這些沾料就是發現生活中的細小幸福,做一個樂觀、豁達、開朗的前端人士。調節好工作和生活的平衡,讓自己不要再活的那麼累。

嗯,做個好重構真的挺不容易的,無論是從專業角度還是從生活角度,缺一不可,保持一個樂觀、熱情、積極的心,不斷學習,讓自己活得簡單、快樂,此足矣。

其實,你不僅是在重構代碼,也是在重構人生!

⑺ 前端工程師他到底是一種怎樣的職業

前端工程師已經是大家不再陌生的一個軟體行業的工種了,盡管這一工種誕生也沒幾年。作為一名從業三年的前端工程師,我嘗試結合業界標准與我的理解,來盡可能詮釋一下前端工程師這個職業。
前端工程師的英文名為front-end engineer,簡稱FE,下文將用FE來代稱。現在意義上的前端(並非只製作網頁),國內最早開始有大規模招聘崗位應該是2011年左右的事情吧,在此之前,FE的工作基本都是由服務端工程師包辦的,或者是由設計師來產出HTML頁面。那麼,是什麼樣的原因催生出了FE這一職位呢?本文將從FE的工作內容、專業FE應具備的技能和品質來聊聊這個職業。

用戶體驗的操刀者
前端工程師的首要工作就是開發用戶界面,在web系統中,就是指網頁了。為什麼網頁需要專門的FE來寫呢?答案就是「用戶體驗」。隨著web2.0概念的普及以及web3.0的提出,用戶成為互聯網的主要生產者,網頁所承載的功能越來越多。

一方面,企業的「用戶體驗」訴求很強烈。這個很容易就能理解,如果你的產品看上去就像個釣魚網站而且還特別難用,就會有一部分用戶離你而去。非互聯網企業呢?也會面臨這樣的情況,你花了很大的功夫優化資料庫,優化伺服器負載,你的客戶卻很難感知到你的努力。你的系統界面還是八九十年代的風格,客戶的第一感覺就是這系統不行,不買你的帳。相反,如果你花一點時間做一套嶄新風格的界面出來,客戶的第一感覺就是這個系統好炫酷,技術含量很高。不要小看這個第一感覺,對於外行人來說,第一感覺往往起到了決定作用。好多企業都意識到了這一點,所以對用戶體驗的訴求就上去了。

另一方面,現在的用戶也都很挑剔。畢竟他們使用的產品一個比一個炫,都被慣壞了,你的產品稍有點不爽的地方,就上微博去給你宣傳。

前端工程師是用戶體驗的把控者,在產品經理構想出交互原型,設計師設計出交互細節後,FE就用他的雙手一行行敲出這些代碼。他敲出的每一個按鈕,每一張圖片,都被成千上萬的用戶點擊著,FE與用戶可以說是「零距離接觸」。作為產品交互的實現者,除了HTML、CSS這兩門語言要精通外,對前端要求更高的其實是非技術因素。

FE需要對用戶體驗有較深的理解。比如頁面上有一個超鏈接,字體比較小的情況下,用戶可能會一下點不中,因為鏈接的可點擊區域是緊貼著文字邊緣的。前端可以通過很簡單的方法來擴大這個鏈接的可點擊區域,使得用戶更容易點中。這就是用戶體驗,正如《瞬間之美》中提到的那樣,touch到用戶的內心只需要一瞬間。對用戶體驗的理解,還體現在對一些交互常識的把握上。比如用戶操作某個軟體的界面,會感覺它很靈巧,卻具體說不出到底是哪裡。那麼很可能是這個界面上的按鈕有著設計良好的四態(正常、滑鼠移上、滑鼠按下、不可用),它會隨時對你的操作給出反饋。

懂用戶體驗的前端工程師,會讓他的作品與用戶溝通,能夠touch到用戶心中那一塊柔軟的區域。

FE需要有一點強迫症。這體現在對任何瑕疵的不容忍。比如採用技術手段讓頁面的滾動更平滑些,減少頁面的視覺抖動,像素級別的定位校準。當用戶觸碰的內容是一串非電話號碼的數字時,不要讓手機自動調出撥號功能,等等。很多細節是產品經理無法感知的,因為這些都是很零散的技術手段,只有靠FE來點滴積累。再有極致者,追求讓頁面的響應時間再減少幾個毫秒,讓你的手機少耗幾KB流量,少耗一些電量。這些甚至連用戶都無法感知,但是當你的用戶有百萬級別或者千萬級別,這樣做的價值就顯現出來了。

前端工程師需要是一個心思細膩之人,需要對美有所領悟,需要執著地追求完美,需要有品味,有思想,有大局觀,最好還能懂點心理學。

用戶端業務邏輯
做出優雅的界面只是前端工程師的第一步,編程也是必備技能,FE承擔著處理用戶端業務邏輯的任務。放在以前,用戶端就是個IE瀏覽器,沒有什麼業務邏輯可言。但現在不同了,用戶使用瀏覽器發表文章、進行社交活動,更復雜的能使用在線工具完成工作。

javascript就是FE需要掌握的編程語言,他應該通曉這門語言的優勢和缺點,掌握各種編程思想、開發模式。利用各種技巧實現交互越來越豐富的界面,同時還要與服務端的工程師溝通,調試介面,完成:頁面展示——響應用戶操作——提交用戶數據——反饋操作結果這一系列流程。

從這一點上,要求前端工程師要有軟體開發的基礎,了解計算機的基本原理,網路通信的基本原理,所以計算機相關專業出身的前端會更有優勢一些。

前端也需要架構
寫寫網頁也要架構?有什麼好架的?回答這個問題首先得明確一點,FE的工作內容已不再是「寫寫頁面」這么簡單。隨著前端代碼的規模越來越大,逐漸涌現出了模塊化開發、MVC、MVVM等開發模式。團隊規模也從原來的單兵作戰演變為團隊開發。

所以,一個高級前端工程師,要有架構能力。這個架構能力包括不限於:
對現有優秀框架的了解與整合使用
根據項目的業務特點構建出合適的開發模式
設計前端測試方案保證代碼質量
用工程化方案組織起團隊的開發流程。

向前延伸、向後延伸
物聯網的市場越來越熱了,手機是物聯網體系中的一個關鍵節點。前端工程師的戰場已不再是單純的瀏覽器,將來會覆蓋到各種「端設備」上。得益於javascript語言的靈活性,現在用javascript已經可以開發windows應用、ios應用、android應用,可以編寫智能電視上的應用。將來,或許是VR、可穿戴設備、智能家電。這是前端可以向前延伸的方向。

另一方面,由於nodejs的橫空出世,javascript這門語言竟然神奇的有了服務端的能力。之前用java、PHP做的事情,js同樣可以實現了。本來前端陣營中就有一批人是從後端轉過來的,有服務端開發的基礎,得了nodejs這一利器,再加上現在市場的需求,快出產品,敏捷開發,前端工程師向後延伸的路線寬廣而明亮。事實上,全棧工程師的概念在前年就被提出,BAT這樣的業界領頭羊早已用nodejs做一些基礎設施的建設,而很多小而快的創業公司,也在用nodejs進行快速迭代開發。

持續學習
前端領域的技術更新相對於其他領域要快很多,原因大概也是因為這個領域離用戶最近吧。有一些新的技術甚至是顛覆性的,前端工程師必須要跟上時代的步伐,否則你開發出的產品在體驗上就落後別人一截了。

有一些市場人員提出的需求,產品經理根據多年的經驗評估後覺得無法實現,就被打回了。而事實上,隨著新技術的出現,有些你認為無法實現的功能已經可以在前端實現了。隨著HTML5的支持度越來越高,前端擁有的能力也會越強。比如利用canvas能夠獲取到圖片上的每一個像素點,這樣前端就擁有了圖像處理能力。有了FileReader API,前端擁有了本地文件的讀取能力,還有地理位置獲取等等。

而這些新東西,就需要前端工程師來不斷學習。所以,一個稱職的前端必須能夠保持持續學習能力,能夠對新技術有敏銳的嗅覺。活到老,學到老,說的就是前端工程師。

高情商的程序猿
大多數人對程序猿的印象就是情商低、不善言談。但前端工程師應該是個例外,這是由工作性質決定的。

從工作流程來看,FE處於設計師的下游,他要接設計稿,轉化為網頁。同時又是後端工程師的上游,需要把用戶產生的數據提交到服務端。橫向來看,他又與產品經理有著密切接觸,因為他可能隨時和產品經理探討交互的細節。這樣一個連接著團隊中的其他成員的角色,需要他既是一個粘合劑,又是一個潤滑劑。

前端工程師需要有較高的溝通能力和理解能力。我們經常開玩笑說「設計師活在童話故事裡」,因為有時候他們設計的頁面根本不符合常規,無法實現。這個時候你就需要耐心的給設計MM講原理、講原因,並且告訴她設計需要遵循哪些基本規范。對於產品經理的思想,你要能把握到位,你得理解他比劃了半天到底是想要做什麼。與後端工程師打交道的時候,你又得馬上化身編程達人,跟他們聊數據類型,聊面向對象,聊設計模式。

你需要能隨時切換角色,切換你的表達方式和談話內容。所以,你得是一隻高情商的程序員。

以上就是我對前端工程師的理解,前端的門檻低,但要成為一名專業的前端工程師,需要掌握的東西太多了。除了前端技術外,我認為前端更重要的是綜合能力,包括我上面談到的思維細膩、有品味、有思想、情商高等等。畢竟你要通過代碼與用戶產生接觸,給用戶帶來愉悅感。從某種程度上來說,你得是一個好戀人。

⑻ 前端控制的原則

前端控制是現代文件管理理念之一,即在文件形成之時就介入其質量控制。按文件生命周期劃分階段,地質資料的「形成」之時是前端,「鑒定、整理、編目、入庫、借閱」等具體操作為中端,「銷毀」是末端。在紙質載體檔案管理中,傳統上稱歸檔前的為科技文件材料,歸檔後稱地質資料。科技文件材料的產生是在工程作業現場或地質研究場所,特別是在勘探開發工程作業現場,首先接觸到地質科技文件材料的是負責生產管理的工程技術人員。現場記錄的文字與數據就產生於現場技術人員之手,在沒有移交資料管理人員之前,就是他們管理著地質科技文件材料,也就是他們處在地質資料管理的前端。電子文件和數據採集也出自他們的工作過程。前端控制是全程管理的重要前提。地質資料管理的前端控制概念是20世紀後期提出來的。有人懷疑前端控制,認為這超出地質資料管理工作范圍,有越位之嫌。但作者認為前端控制有以下的必要性:

(一)是保證資料真實可靠、完整規范、可識別的前提

各類地質報告在形成初期,文字材料有初稿、二稿和終稿之分,電子文件也具有易流失、易刪改特性,很容易出現差錯,在源頭出現差錯若不能及時發現和改正,這件地質資料質量就沒有保證,運用於指導勘探工程,不但造成工程時間上的不可彌補,探礦工程的經費損失也是非常大的。若錯了的勘探數據信息,沒有被發現,用來誤導接下來的處理、解釋和研究,其損失更大。花費大量人力、物力、財力的勘探開發工程,取得的地質資料不完整,或者電子文件讀不出來,或數據信息是錯的,後果是嚴重的。地質科技文件材料與數據產生後,即需標明責任者,電子文件就該及時賦予標識,防止修改,防止刪除,並附有背景說明。

(二)可優化管理,提高管理效率

傳統的地質資料管理,其前端是對歸檔的地質科技文件材料進行整理、編號、標識、入庫。歸檔前的地質科技文件材料管理沒有進入全程管理的視野,也無章法可循,一般由地質科技人員或工程技術人員保管,對質量也無規范性要求。實施前端控制後,使整個地質資料管理成了一個體系,標准、規范一貫到底,不但與工程施工、實驗分析、數據處理、地質研究環環緊密相扣,還能促成地質資料管理業務流程一體化,減少乃至消除地質資料歸檔前、歸檔後的管理管理環節疏漏或重復,達到功能合理,效率更高的效果。

現在的工程設備上地質資料的產生,大多為機出資料,自動列印。也有人工記錄,如施工班報、生產日報等,但人工記錄也都是計算機製作相關文字和報表。在文件形成的同時,將文件內容進行描述、文件結構、背景、版本、數據生成環境、存在狀態等方面的信息進行採集。如鑽井的基礎數據,文字性資料的著錄項等,這些數據是一次採集,全程使用。這種方法可以避免在地質資料歸檔著錄時的重復採集及其由於二次或多次數據採集輸入而出現的出錯概率。

以前地質資料管理部門,對前端產生了哪些地質資料,什麼時間應該歸檔心中無數,質量評判也缺乏依據。實行前端控制後,對產生的地質資料的數量和質量參與了控制,可以及時調劑利用和通知入館歸檔。

⑼ 如何成為一個偉大的前端工程師

成為一個傑出工程師最重要的因素就是熱愛自己的職業。畢竟興趣是最好的老師,許多優秀的電子工程師都是從小作為電子愛好者的。愛好不僅要體現在行動中更要深入內心甚至深入骨髓。有許多人問:每天應該花多長時間在學習中和工作中。可以肯定一份耕耘就會換來一份收獲,但作為工程師和科學家想取得成功並不是比賽誰花的時間最多,而是看誰付出了更多的思考。不要以為一個學生坐在自習教室里看了多少小時的書就是勤奮,也可能比呆在寢室里的學生還要懶惰。也就是說勤奮是大腦的勤奮,而不是身體和和形式上的勤奮。我學電子也差不多有15年了,也發現了很多問題。一次別人問我你每天花多長時間來工作。我回答他:每天除了吃飯睡覺幾乎都在思考。不誇張的說我的很多工程構想都是在夢境中誕生的。每天早起床後刷牙的時候、上班的路上、吃飯的時候甚至和別人談話的空閑瞬間都有可能誕生靈感。當然熱愛工程師職業的前提是一定要能領略到工程和自然科學中的美感。一個優秀的工程師同時也是一個熱愛科學的人,從科學的常識到科學的精神都會滲透到他的生活中。一次我看到一位教研室里的老師安排答辯的順序,盡管這位老師在機電領域寫了很多的書也在所謂理論領域有很多建樹,單從他安排這樣一個簡單的順序來看,他並不是個理論很高的人。因為在我看來他的工作方法是效率極低的。換句話說就是在他的生活中沒有科學的精神可言。
一個工程師和科學家在生活中也是工程師和科學家。這個問題引出後我們要提到的是培養自己的思維品質。包括思維的習慣,深度和廣度,以及思維方式和思維素材的選取。成為一個工程師確實有很多品質是天生的和決定性的,學校的培養和自己的努力也只是一些輔助措施。一個人曾經問我一個關於感性負載的問題,其實我心理很清楚他並不理解這裡面最基本的物理概念,首先對電感的認識就不是用語言和數學公式能解釋得了的。所以物理學和數學的基礎是對工程師有很高要求的,這里所提到的物理學和數學是指一種最基本的認識而不是停留於表面的文字和公式。我可以推斷這個人不太適合作工程師,其實他提出的問題都真真切切的存在於生活中,抬頭看看日光燈的啟動,或者當你看到電源插頭的放電瞬間。可這每一個瞬間都被示為理所應當的話就錯了。那樣當牛頓看到蘋果落地時也會感覺理所應當的。
每個人的思維著眼點和注意的方面都不相同,很多人從小就會將注意放在自然科學之上,這些孩子中有很多就是未來的工程師。比如一個10歲的小學生看到一幢大樓,他會馬上考慮大樓是如何建造的,塔吊又是怎麼一節一節接起來的,那麼高的大樓外牆的玻璃是如何安裝的。另一個孩子會想工程師真偉大,還會想到一些詩句來抒發內心的感受。顯然兩個孩子一個可能更適合作工程師另一個適合成為文學家。所以人們經常說,每個人都有自己的長處和優點。有些人的長處和思維方式在工程師職業中無法發揮,可中國教育的教條化卻無法讓每個人都能做自己喜歡的專業。我的一個大學同學是文學愛好者,對中國歷史和社會有許多見解,閱讀廣泛文筆也好,可偏偏學了電子這個專業,這不是人才的浪費嗎。所以工程師和科學家在生活中也是工程師和科學家,而不是工作時和端起書本時才是。很多學生很努力的去學習,可一直無法入門就是這個原因。當拿起書本時發現一個問題或者老師提出一個問題後他們會努力的解決,可放下書本就不會再自己提出問題和獨立的思考了。
我從來不認為中國的教育是真正的教育,書本、試卷、分數、所謂的答案都是教條的,就好象一條生產線給每個經過其中的學生蓋上一個學歷的烙印。將創造性和個人的特長統統抹殺,再加上長期以來的教育大躍進和人才評定標準的偏差,無數天才失去了發展機會。本來沒有那麼多的教育資源卻非要擴招--掃盲。將大學教育至於尷尬境地,應屆生就業就是最好的例子。所以請不要抱怨工作機會少,中國是非常缺乏工程師的呀!缺到讓很多公司開始吶喊的程度。工程師的缺乏又和應屆理工科畢業生的過剩形成矛盾。所以你不要以為學習成績高就能成為一個好的工程師。要清楚的認識到學校的教育和社會需求之間的距離。
工程師要有自己的思想,很多學生在讀書過程中養成了一些很不好的習慣。比如思考深度不夠,和不會獨立思考。一個公式放在面前能做題,能考試就OK嗎?自然科學好比一個花園,一些科學巨匠寫下了無數不朽的文章來描述它。數學公式就好比文章中的文字和句子,只是做文字游戲或者簡單的背誦有什麼意義嗎?請問問自己你對這個大花園了解多少。你閉上眼睛能想像出這個花園的景象嗎?記得我曾問一個大四畢業設計的學生你物理學的怎麼樣。他回答我還好,可又補充說就是公式忘了。工作中他看到我隨筆可以寫出很多方程,驚訝的說我的記憶力真好。我說我根本就沒背過公式。因為我記得花園是什麼樣的,即使哪位大家用什麼詞彙描述的花園我記不清,可我依然能清楚的描述出來。這才是理論,理論不是指文字和公式而是前人的思想。
許多學電子的學生說模擬技術難學,我告訴他們其實學好模擬技術並不是要學好模擬電子本身。世界本來就是模擬的,所有的物理量都是模擬的,這就是模擬。所以你對自然科學的最根本看法和世界觀直接決定模擬水平的高低,也就是物理學水平的高低。我的意見是:不要以為拿著模電書學下去就能有本質的改變,一定要提高對事物的認識和對自然科學的理解,提高對模擬量的駕御能力。重要的是思維方式,和對概念的感性認識。
思考問題要有深度,思維的深度是一種習慣。有些人總是喜歡點到為止,他甚至沒有意識到我還可以再深入的思考。作為工程師和科學家要培養深邃的思考習慣。一些學生看到一道物理題,認為作對就好的人居多。可你是否發現了其中的內在聯系,甚至從考點中受到啟發。有很多高中學生喜歡做大量的習題,結果效果卻不理想。就是因為這些學生只是在做題,沒有付出更多的思考。所以工程師要注重概念性的思考然後深入進去。知其然,更要知其所以然。
工程師要重視實踐,自然科學不管發展到何時都離不開實驗。電子學本身就是為了指導工程實踐。所以不要談空洞的理論。現在很多院所都面臨這樣的問題,總是談一些空洞的理論,甚至錯誤的但還不以為然的理論。實踐可以提高對自然科學的認識甚至改變著我們的世界觀,只有這種認識提高了才可能創造和應用有價值的理論。我們不要玩弄理論,但要重視理論。理論是思想,是認識,不是公式和文字。
另一方面,我們還要重視理論。因為你是電子工程師,而不是電子愛好者。工程師要從整體到細節全面的把控你的工程。人做事是一定要犯錯誤的,工程師要將這樣的錯誤減到最少。因此全面的理論和對工程對象的認識是必須的。一些從電子愛好者出身的工程師比較容易忽視理論,認為把東西做出來了就可以。當然是要把東西作出來,但我們最終是要掌握尖端的技術,推動中國科技的發展。不可能象電子愛好者那樣拿過別人的圖紙來製作了事。IT技術發展迅速,理論的發展也非常迅速。我們一定要接受潮水般的新觀念和新技術,工程師必須有全面而又堅實的理論作為後盾。我們學習信息技術就好比蓋一座大廈,我們可以很快掌握流行的開發工具和技術--可以蓋個比較高的大樓,可是沒有全面堅實的理論作為地基,是不可能蓋成摩天大廈的。
而且理論體系一定要完整,IT技術本身就是多學科交叉產生的,他已經涉及太多的東西了。所以在這個行業內如果掌握更多更全面的知識是非常必要的。搞硬體的往往容易忽略軟體方面的東西。現在哪裡有離開軟體的硬體和離開硬體的軟體呢?而且一個工程師不僅要懂得本
專業的知識,還要有廣泛的自然科學知識,只有這樣才能成為出色的工程技術人員。
培養自己的學習方法也是工程師的必修課。知識爆炸的年代裡,僅僅靠學校里學來的一點皮毛想成為優秀的工程師是不可能的,90%的知識都要靠自己去學習。很多學校剛畢業的學生並不會自學。拿過一本書來一陣看,看不懂就咬牙看下去,最後仍在一邊。其實自學是非常講究技巧和方法的。當然每個人都有自己的一套好辦法。我通常把知識分成幾類:
1.基礎知識 ----包括數物化和專業基礎。
2.流行的技術 ----比如潛入式系統開發,大家都在做的技術。
3.未來將要流行的技術 ----比如生物DSP技術,就是你對未來的預測。
4.我要用到的技術 ----就是你工程中急需使用的。
5.其他學科的重要進展 ----緊跟科技發展的腳步是必須的。
我通常均勻的分配時間,而不忽略任何任何一個方面的進展。這樣才能保證知識體系的不斷更新和擴充。這只是宏觀上的精力分配。具體的學習過程當然因人而定,但一定要有戰略的進行。工程師做任何事情都要有計劃有步驟的去執行。邏輯不僅僅是體現在程序中更要體現在學習和生活的進程中,也就是做任何事都要科學的安排時間,根據自己的情況制定方案。大家可以參考大腦思維圖譜的方法。
工程師做事要嚴謹求實。神州飛船由多少復雜的系統構成,如果每個部件都有99.9%的成功率,恐怕到最後返回的時候連一半的安全性都談不上。所以工程師一定要嚴謹,從整體到每個細節都要有足夠的重視程度。千里之堤潰於蟻穴就是這個道理。工程師不能接受差不多這樣的詞彙。行就是行,不行就是不行,這是工程師最基本的素質。一次公司里的一個工程師拿了一塊作好的超聲前端板交給我,並說板已OK了。可當我問他信噪比如何時,卻回答我差不多。我理解差不多就還差,讓他拿回去什麼時候不差了再交給我。所以工程師要用指標說話,要用實踐說話,差不多不是工程師的嘴裡應該出現的詞彙。
工程師還要注重積累,一個好的程序員和電路設計師就是一個好的收藏家。不僅收藏自己的智慧結晶更要收藏別人的智慧結晶。IT技術領域有無數的巨匠和天才將他們智慧沉澱於現代科技之中。所以我們要不斷的積累好的做法和前人的思想。你的周圍會有很多人的很多東西值得你學習,你應該將這些作為財富積累起來,總有一天會發揮出作用。另外我們學習的不僅是簡單的知識更是前人對知識的理解和對工程的看法。比如每個人眼中的電阻都不相同,你要主動去了解高手眼中的電阻是什麼東西。
更高的角度從新審視問題,找到突破口,而不要鑽了牛角尖。
工程師不要輕易問別人問題,解決問題的過程和結果同樣重要。有一些同學會經常向老師提出問題,這也是好事,說明某某學生愛學習。可我們並不提倡這些,相反的如果能自己解決問題才是最好的。要學會獨立的獵取信息和知識,並從其中得到自己判斷。每個人在工作中都會遇到很多問題,在學校的時候有老師去解答,在工作單位又有誰能解答呢?或者當你做的是最尖端的技術時你能去問誰呢!所以工程師要有獨立處理問題的能力。不要做思想上懶惰的人。中國教育往往要求學生考出高分,答對答案就是好學生。所以老師告訴的答案只要記住就OK。可老師告訴你的答案能說明你自己具備了解題能力嗎?請不要相信這樣的分數,至少它無法反映你的真實水平。
工程師要有《亮劍》精神。用都梁的話說,古代劍客明知對方是天下第一劍客,明知是死也要亮出寶劍,沒有這個本事就別當劍客。盡管敵強我弱,盡管身陷重圍,我們也要亮劍。工程師也要敢於挑戰對手,敢於戰勝自己。一項工程如果連做都不敢做還能談成功的問題嗎?成功是一種習慣,一種來源於自己的信心。戰略上輕視敵人,戰術上重視敵人。
工程師即要有個人英雄主義情節又要能融入團隊。出色的個人能力和人格魅力是何等的寶貴。我們在崇拜蓋茨和喬布斯的同時不要忘記他們身後龐大而又高效的研發團隊。以一戟之力完成霸業的英雄已不屬於這個時代。所以團隊的合作才是創造神話的必經之路。
工程師要有發展的眼光,不僅要能在復雜的技術和市場面前游刃有餘,更要對未來的發展態勢做出精確的展望。只有比別人想的遠才能比對手走的更遠。當然這與堅實的基礎和勤奮的思考是密不可分的,在群雄逐鹿的當今IT界,恐怕需要更多的膽識才能做到。要不斷的關注技術和市場以及其它領域的發展,什麼時候這種關注放鬆,什麼時候就會被競爭所淘汰。
要在競爭和解決問題中體會生活,研發和競爭是每個工程師不可避免的現實。大家每天都會遇到新的困難,可這才是工程師的生活,要輕松的活在這些問題之中,並體會其中的快樂和成功時刻的興奮。很多工程師抱怨說做研發太累了,這里的累是一種心理的感受,工程師的職業就是不斷的克服困難迎接新的挑戰。