<dl id="vorq8"><menu id="vorq8"></menu></dl>

<sup id="vorq8"></sup>
<sup id="vorq8"></sup>
<sup id="vorq8"></sup>

<optgroup id="vorq8"><address id="vorq8"></address></optgroup>

    <sup id="vorq8"><menu id="vorq8"><small id="vorq8"></small></menu></sup>

    <div id="vorq8"><tr id="vorq8"><object id="vorq8"></object></tr></div>

    當前位置:  首頁  >  PHP資訊  >  職場攻略

    一個三年工作經驗的Web工程師的經驗之談

    時間過得很快,我做軟件工程師已經三年整了。我沒有做過一個項目,一直在做框架相關的工作,有時維護Web框架代碼,有時寫移動Hybrid的前端UI框架,也有時做開發工具或自動編譯平臺等。

    時間過得很快,我做軟件工程師已經三年整了。我沒有做過一個項目,一直在做框架相關的工作,有時維護Web框架代碼,有時寫移動Hybrid的前端UI框架,也有時做開發工具或自動編譯平臺等。

    我想分享下這段時間在工作上的個人經驗,分為幾點:

    做框架的態度

    我工作中做得最多就是框架,框架的本質是提高重用性。對于做框架,除了本身能力很重要外,很關鍵的是做框架的態度。

    1、不要因為困難的而不去做

    (1).作為程序員的程序員,如果你解決了一個困難的問題,你造福的是所有使用你框架的人。

    (2).即便是很簡單的功能,能做就要做,只要這功能不是嘩眾取寵的。

    我很厭煩的是一些遇到困難后,連去深入研究都沒有的人。當然困難問題解決起來耗費的時間可能會長,但如果有益,就去解決。

    2、辨認是否真的做不了

    可能由于框架開發者能力的問題,在某些問題上找不到解決方案,于是有人就輕易歸結為做不了。并不是說不能承認做不了,而是希望能在問題上多加探討,一句解決不了真太簡單了。不要那么容易說“做不了”,這個“做不了”應該是反復驗證之后才得出的結論,而不是“你不會”。

    3、將用戶當傻瓜

    提供出去的東西,不要讓使用者做得太多,能封裝就封裝,能簡單就簡單。別讓他們繞太多彎彎,不然會有一堆疑問拋向你,用的人也很痛苦。

    4、框架技術選擇

    框架如果需要接入其他技術,不是用自己最擅長的技術,而是大眾最常用的。例如當Python、Go、NodeJS都可以選擇時候,是否可以考慮最為大眾化的NodeJS。

    Java

    1、控件本質

    我寫得最多,最深刻的一點感悟就是。所有的控件效果,抽絲剝繭,可以歸結的本質是,對于DOM元素的位置變換、隱現,事件的控制。所以在實現一個控件的時候,最應該做的分析最本質的現象,是與哪些元素相關,包含什么事件,涉及什么CSS3效果。這樣,你就不會無從下手。

    2、注意重用

    另外,當你寫重復代碼的時間就要注意了,重復地方是否有重用地方,是否可以做優化。不要就直接復制、粘貼了。Java里面這種隨意復制粘貼的情況很常見,所以加強復用東西(組件、控件)的編寫能力挺重要。

    Hybrid框架(mobile)

    之前我做了一年多Hybrid框架的Web UI部分。(目前有很多很好的Hybrid框架,我以前的文章也有說過很多,想看的可以往前翻翻)。這里有兩點我想告訴Hybrid框架的開發者。

    1、如何做得像原生做的

    (1).Web頁面結合原生殼的應用,在效果上與真正的原生應用還是存在差別。那怎么做的像原生做的,那就是用原生做。動畫效果、控件用原生實現,那么效果才真的像。

    (2). 控件樣式就根據手機原生控件樣子做,像framework7。現在很多框架都能在原生上找到影子。自己特立獨行一套效果圖出來其實沒必要,除非你的能比蘋果公司的設計師做的更好。

    2、別用單頁

    這個是我添加在框架里最糟糕的東西。這個導致了加大開發者開發難度,效果在Android上也不盡如人意。

    部署自動化

    1、能自動化的東西,就別手動做

    無論是做手機應用,還是桌面應用,原生或混合應用(Hybrid),又或者是前端后端,程序打包編譯都應該實現自動化。

    2、把開發人員解放出來

    開發一個打包平臺,將版本、可配置內容開放出來,給部署人員去做配置打包,開發人員并不參與。

    這種事利己利人,特別是在頻繁打包構建時候。當你花幾天做出自動化東西,會發現后面省下的時間何止幾天。

    對學習的問題

    1、學習只能靠自己

    1、公司本身不是讓你學習地方,是為了讓你創造價值的,只不過在創造價值時,順帶學習了東西,讓你可以得到實踐。 當然可能做的事本身就沒有可學習地方,那充實自己也只能是自己,也可能學到的東西得不到實踐。

    2. 前輩只會講個大概給你,誰也不想手把手的教,都想你能夠主動去學習。

    2、多學習多總結

    從畢業開始到現在,我每到有疑問的時候,都會記下來,找時間去解決它,然后會總結經驗,寫到博客里。總結寫博客有個好處,就是能把經驗教訓進行一次完整總結,而為了博文內容是正確的,我會查閱很多資料去歸納總結,這樣總會有點成長。

    還有一點是,學習東西必須有結論,不能看了很多東西,卻沒有一個定論,這樣的話,下次你想起,你依舊不知道關鍵點在哪。所以,無論結論是對還是錯,學了就做屬于自己的總結,即便是錯,也錯得明白。

    對錯誤的態度

    1、不要怕

    在早些年,遇到問題錯誤時,在沒明白詳情時,就開始慌張了,擔心自己解決不了。而現在是比較坦然了,對于錯誤,先理清問題到底是什么,接著判斷是不是你該解決的,這問題是否緊急,最后才是考慮怎么解決。最后,天塌了還有老大擋著。

    2、承認做不了

    自己做不了,就承認做不了,別死鴨子嘴硬,到后面出問題了再說,那就尷尬了。

    對于自我

    1、直面不足

    我雖然自詡是個前端工程師,但是我知道我做不成那些漂亮的頁面(設計),只是在腳本部分有些造詣。我不是個聰明的人,只是還有些小勤奮,我會花時間去弄懂。為了寫好一篇博文,會去完整的查找資料驗證。

    2、成為別人的依靠

    三年時間,也使得自己在某些方面是別人完成不了最后一個依靠。這時天塌了,找你了。

    3、有些偏執了

    隨著我看到的東西越來越多,知道得越多,越能認清一個東西對錯好壞,對于我認為不對的,就不妥協,一定指出來。

    4、小進步

    我不是個勤奮的人,也不是個不思進取的人。我也怕自己沒有進步,但也不喜歡強迫自己,所以現在我都是爭取自己每天有一點不同。閑暇時間會學學弄弄小東西,寫寫博文,無聊時也會打打游戲,我希望是能遵從我本心。

    人總要一些追求的,不然每天都過得差不多。我追求是每天有一點不同,每天有一點小進步,就夠了。

    總結

    我一開始是做一個產品的后端,再后面兩年轉而做前端的(應部門需要,在我的部門里面,不是看你會什么,而是看要做什么,如果需要新技術才能做的,那就要去學,然后用起來)。三年時間過得很快,上面這些是我感覺比較重要的,希望對初入社會的程序員有些用處。

    ●本文編號293,以后想閱讀這篇文章直接輸入293即可。

    ●輸入m獲取文章目錄

    推薦↓↓↓

    前端開發

    更多推薦《15個技術類公眾微信》

    涵蓋:程序人生、算法與數據結構、黑客技術與網絡安全、大數據技術、前端開發、Java、Python、Web開發、安卓開發、iOS開發、C/C++、.NET、Linux、數據庫、運維等。

    吐了個 "CAO" !
    • 素材火   2017-09-07 10:00:24
      三年能總結出這些經驗,相當不錯
    • 找前輩網   2017-10-18 20:43:34
      學編程,當然找前輩!www.zhaoqianbei.com
    掃碼關注 PHP1 官方微信號
    PHP1.CN | 中國最專業的PHP中文社區 | PHP資訊 | PHP教程 | 數據庫技術 | 服務器技術 | 前端開發技術 | PHP框架 | 開發工具 | PHP問答
    Copyright ? 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社區 版權所有
         
    pc蛋蛋
    <dl id="vorq8"><menu id="vorq8"></menu></dl>

    <sup id="vorq8"></sup>
    <sup id="vorq8"></sup>
    <sup id="vorq8"></sup>

    <optgroup id="vorq8"><address id="vorq8"></address></optgroup>

      <sup id="vorq8"><menu id="vorq8"><small id="vorq8"></small></menu></sup>

      <div id="vorq8"><tr id="vorq8"><object id="vorq8"></object></tr></div>

      <dl id="vorq8"><menu id="vorq8"></menu></dl>

      <sup id="vorq8"></sup>
      <sup id="vorq8"></sup>
      <sup id="vorq8"></sup>

      <optgroup id="vorq8"><address id="vorq8"></address></optgroup>

        <sup id="vorq8"><menu id="vorq8"><small id="vorq8"></small></menu></sup>

        <div id="vorq8"><tr id="vorq8"><object id="vorq8"></object></tr></div>