1. 程式人生 > >第一次專案開發之遇到問題及流程總結

第一次專案開發之遇到問題及流程總結

在專案開始前,被告知是電商網站,這讓本人這種菜鳥還是為之一緊的---一個人負責前端阿,還要只有師父遠端的指導,偶爾能當面指導(一週一次的樣子),但是 還是覺得壓力挺大的,畢竟新人肯定會遇到非常多的問題,太小的不敢問,太多又不敢問,腦洞類的只能選擇著問,最後能問的問題並不多!劉翔曾說過---逆風飛翔,才能張開翅膀(?)。總之就是不行也得行,說不定最後就行了呢。

這個專案其實就是做靜態頁面,說的是不需要做邏輯方面的,其實我當時聽著挺模糊的,邏輯分很多種吧,JS肯定也有邏輯的啊。。我的理解是並不會有太深奧的程式碼需要我去理解或者去自己敲。公司對我的知識底蘊是清楚的,如果這麼難直接叫我做,做不好不是雙輸麼。既然理論分析了結論是不可能太難,那就開幹!

言歸正傳。專案一開始,師父讓我用git上傳程式碼到網路,方便他遠端觀看。想到之前(運氣好?)成功上傳過,想想就覺得是pieceofcake,沒有太注意這方面(導致後面回檔!)。其實git這個東西指令並不多,麻煩的地方是每條指令執行都是霸道的,你只要輸入就不能回頭了,當然,你能用別的指令試圖扭轉局面,個人的建議是,在弄清楚你輸入的指令的所有含義後,再去按回車。就像一開始我以為master是分支,origin是原始倉庫,然後origin是不能改的,然而origin只是一個名字,就像xiaoming,hanmeimei一樣。master分支按我的理解應該是所有者才有的分支,別人想用你專案的master分支,需要授權才行。還有就是版本問題,git很早之前就有了,這麼多年指令應該沒有增加太多,但是指令的功能卻發生著變化。如果你傻傻的百度一個git add . 是什麼意思,舊版本和新版本功能不同,沒注意的話點到舊版本的科普里,就GG了。

說說之前回檔的事吧,當時是因為被要求用yim---即terminal內建了的一個編輯器,去編寫commit,畢竟是國外的東西,寫英文還好,寫中文沒打10個字就開始卡了,不知道師父有沒有注意到這個問題,因為他的是pro而我的是air,反正就是第三天左右的時候一次提交,因為想commit的詳細些,打了有10行中文的樣子,然後就崩潰了(只有terminal崩潰)。當時我的想法是:辣雞編輯器,大不了再打一次。然後重新開啟,commit內容沒了,status顯示無內容,但是我還沒push啊。想著這是啥意思呢,於是百度了下,說是這種情況需要刪除之前的提交,不然沒法上傳。那是一箇中文的文章,而且看著是個老程式猿了,傻傻的就信了。然後刪除的結果是:git add 的沒了,然後還回檔了!回的上一檔,是昨天晚上的檔。還好機智的我發現sublime裡開啟的檔案有變化提示,檔名變黃(橙),果斷command + Z返回,果然回到之前想提交的狀態,然後儲存。當然不可能所有想提交的頁面都打開了,部分自然是隻能自己憑記憶手打了。總結一下這個小故事:

一個小白在軟體崩潰情況下誤信網上舊版本操作回檔,後機智發現編輯器裡能返回,最後以額外工作4小時告終。摁...考慮到當時自己在那種情況下,又是新手,也還行吧。最好當然是問師父了,但是考慮到回檔是一件挺羞恥的事情,就想著自己搞定吧。從此命令操作,基本是小心翼翼的,除了重複用過多次的語句外。

然後說說開發環境,yoman一鍵搭環境,還帶自動編譯載入,還有打包,壓縮,包管理功能,具體見下圖,當然,我用的是把grunt替換為‘gulp’。


yoman還是很好用的,畢竟簡單易操作,主要還是npm應該還是比較符合趨勢的,bower 的話畢竟專門為前端服務,而且有包衝突的可能,後面會再學習用webpack吧。還有開發中比較常見的一個問題,有時候明明已經改了程式碼,看terminal也編譯了,但是在瀏覽器看的效果依然是修改之前的效果,要重新儲存再編譯才行,感覺應該是快取機制的問題,至於是電腦快取,還是別的快取,如瀏覽器的,就不太清楚了。

在拿到設計稿的時候,還是有點懵逼的,開始做了一些頁面之後,才慢慢習慣了些。個人感覺,專案經理的確是一個重要的職位,瞭解客戶需求太TM重要了,少了東西或者理解有偏差的話,後面前後端的工作量不一定會增加很多,但是肯定會有一種蛋疼的感覺。至於設計圖的實現,個人認為在大家都是第一次配合的情況下,最好還是一起坐下來聊聊,主要是功能模組的增減。作為一個前端,我認為,做到不對設計稿的成色作出絲毫評價是我該有的職業操守,但是設計時期還是應該加入前後端進行觀察的,因為設計過程中由於設計對前後端工作難度的評估能力不足,少設計東西或者樣式過於複雜都可能增加專案的工時,從而增加開發成本。同理的,前端於後端也可能造成相同的影響。下次專案開發的話,定會提出此觀點。

關於前端的開發規範,本次是使用less進行樣式開發的,用到了bootstrap和jQuery,樣式開發過程中由師父的帶領,學會了使用變數名及統一載入,雖然可能less官方文件裡,或者你看bootstrap的原始碼會發現,但是有人有經驗去描述及指導當然還是明瞭得多。這次比較失敗的地方是變數名方面只是名義上使用了,但是使用率太低,這也和設計沒有溝通好有關吧,以至於後面幾乎沒有使用變數名進行樣式設定,不過並不影響。