初入前端,面對一個項目應註意哪些?

来源:http://www.cnblogs.com/zhuanzhuanfe/archive/2017/07/28/7252988.html
-Advertisement-
Play Games

前言: 對於初入職場的前端小白來說,一整個項目來了,頓時感覺壓力山大,張皇失措,也總會感到手忙腳亂。其實不用怕,拆分步驟,把每個步驟做好,做細,一切都迎刃而解,猶如順藤摸瓜般暢快淋漓。 目錄: 概念的介紹(可略) 項目分哪幾個階段(每個階段註意什麼) 如何排期 解決問題的方法 概念的介紹: PM(產 ...


前言:

對於初入職場的前端小白來說,一整個項目來了,頓時感覺壓力山大,張皇失措,也總會感到手忙腳亂。其實不用怕,拆分步驟,把每個步驟做好,做細,一切都迎刃而解,猶如順藤摸瓜般暢快淋漓。

目錄:

  • 概念的介紹(可略)
  • 項目分哪幾個階段(每個階段註意什麼)
  • 如何排期
  • 解決問題的方法

概念的介紹:

PM(產品經理)
負責需求的提出和項目的引導。PM根據產品特點和發展目標提出一定的需求,並協調各方資源投入開發。
若需求層面有不清晰的地方,應當向PM溝通確認,如:需要做什麼、希望達到什麼效果、哪些內容應重點保證、哪些效果可以適當取捨等;

RD(後端)
負責後端介面和數據邏輯。一般複雜邏輯和內部數據會交由後端處理,並通過介面與前端交互。

FE(前端)
負責Web頁面(M頁)的界面展示和用戶交互。一般樣式、交互、動效等用戶側的效果/體驗由前端負責,並通過介面與後端進行數據交互。

QA(測試)
負責整體質量把控。在開發人員開發聯調完成後,一般需要由QA進行系統性的測試,從而糾偏糾錯&查缺補漏,保證上線質量。
若QA誤提bug或誤給人員,應協助處理:若為QA環境/測試方式問題可協助定位說明、若為介面問題可協助定位轉發、若為需求理解不一致可找PM確認;
若問題已解決,應及時關閉bug,使QA可以儘早驗證。

Native(客戶端,Android&iOS)
負責客戶端APP的界面展示、用戶交互等,並向M頁提供WebView容器。轉轉APP、58APP、趕集APP等開發人員即為native開發人員,當頁面運行於這些APP中時,對應native就是瀏覽器環境的提供者,比如我們想在原聲的app中設置title就需要調用native提供的方法。

ui(用戶界面)
負責項目的頁面樣式,動畫效果的設計。

項目分哪幾個階段:

通常一個項目簡單分為 四步:

  • 需求階段
    • 收集需求 • 分析需求 • 產出需求 • 需求文檔 • 評審需求 • 分配資源 • 技術調研 • 評估工作量 • 制定排期

  • 開發階段
    • 介面評審 • 測試用例評審 • Coding • 自測 • 聯調 • 提測

  • 測試階段
    • 冒煙測試 • 功能測試 • 相容性測試 • 性能測試 • 回歸測試

  • 上線階段
    • 總結

需求階段

PM明確需求並協調好各方人力之後,一般會發起需求評審,將開發、測試等相關人員聚集在一起,闡述需求具體內容並接受反饋和建議。
需求評審主要意義在於:

  • 明確需求,確保各方理解一致。避免實現過程與預期效果背道而馳。
  • 風險評估,問題及早暴露。若PM預期方案中存在較大的技術問題,技術人員可在評審時予以指出,從而及早思考對策。
  • 交流碰撞,方案權衡。技術人員反饋各內容實現難度和實現成本,PM權衡哪些內容優先實現,哪些內容採用替代方案,哪些內容予以捨棄。

需求評審環節FE應做的事:

閱讀、梳理需求文檔。PM一般會先發需求文檔,後進行需求評審。評審前應先閱讀好文檔,並梳理其中的疑惑點和技術難點。
明確需求。評審過程應充分理解自己所需要完成的內容,不清晰之處應向PM確認、明確。
溝通反饋。有潛在的技術問題/風險,應及時向PM反饋,使其提前思考應對/替代方案。
理解目的。理解PM此次需求的主要目的,明白需求中哪些內容應重點保證,哪些內容可以適當取捨,避免在某些棘手卻無關緊要的小功能上面浪費過多精力。
註意:
需求評審主要目的在於需求,具體實現細節應在會後相關人員自行溝通,避免耽誤其他人時間。

排期

需求明確之後,然後排期,即:預期什麼時候開始投入開發、什麼時候能達到什麼進度、什麼時候可以上線等。

開發階段

梳理需求,對整體效果進行功能拆分和模塊拆分,包括:樣式、動效、交互、數據介面、native介面、外部資源等,把功能細化。
相容性測試:多為樣式相容性。儘可能在各終端下進行測試,尤其是低端安卓機下,出現問題的可能性比較大。

測試階段

有些難點邏輯以及測試點及時和QA同學溝通,反饋

上線階段

主動把“測試用例”(也就是所有的功能點)在 重新走一遍

如何排期:


簽到活動排期.jpg

一個項目的工作量約五天,你最好把排期細化,假如你5天沒有做完,那大家會覺得你不靠譜久而久之,覺得你能力不行,如果你訂了五天,但是四天就搞定了,在同事之間大大增加信任 也會增加自己的信心,可見一個好的排期多麼重要。
通常情況下,FE需要等UI出圖然後排期,但排期前也可以做些整理

理清需求中:
依賴哪些外部資源,如:需要rd提供哪些介面、需要pm提供哪些數據(埋點、分享文案、分享圖片...)、ui圖中哪些需要切圖,如何佈局,哪部會後期可能頻繁改動,是否需要sdk新增native介面支持等等。

需要實現哪些效果,如:下拉刷新、無限載入、tab吸頂、動畫特效等
有哪些交互,如:按鈕點擊響應、下拉響應等
有哪些模塊,如:Banner模塊、分類入口模塊、商品列表模塊等

時間&風險評估
評估各模塊各功能的工作量和可能存在的風險,工作量估算為時間,風險項預留一定時間,累加得到大概的整體所需工時。
結合自身其它工作安排和其它項目進度,估算可投入新項目的時間段,得到初步排期。

推動依賴資源
對於需要依賴的外部資源,應當提前聯繫相關人員,使其提前做好準備,避免需要時缺失影響後續流程。
根據依賴資源的預期就緒時間,調整排期。

技術調研
對於需求中較不熟悉較無把握存在較大風險的內容,優先進行技術調研。
這樣,一是可以更科學地評估工作量,及早修正排期;二是可以避免無謂的支出,比如若將難題留到最後,可能會發現難題實在無法解決,不得不調整需求修改方案,導致此前開發全部都要推倒重來。

解決問題的方法

1.對於新手來講編碼中我們要關心兩件事,一,數據的變化 。二,數據變化後結構樣式的變化。
2.很多看似很棘手的問題,往往都是自己粗心所導致的比如變數名字不對啊,少打個符號,環境問
題也不容忽視,二分法要常用,簡單講就是先拿掉一部分代碼,看另一部分有沒有誤。
3.若開發過程中發現項目工作量與預期有嚴重出入,或遇到高優先順序項目介入等特殊情況,導致無法按照預期時間點完成項目內容,應當儘早向項目其他人員反饋,方便其修改時間安排。
4.事情一件一件做,最好不要多線程容易漏掉事情,專心做一件才會做的更好。
5.把每天要做的事情寫在有道或者印象筆記里,也知道哪些需要做,哪些不需要做,到最後周報也不會忘記。
6.多用google搜索,到最後你會發現google搜索的人,技術就是比百度搜索的人要好一點。
7.溝通方法很重要,在講述一個問題時要把問題的背景以及目的等說清楚,可以很快讓聽者明白你的意圖。



作者:嘿黑蝸牛
鏈接:http://www.jianshu.com/p/750d6ec53bd5
來源:簡書
著作權歸作者所有。商業轉載請聯繫作者獲得授權,非商業轉載請註明出處。
您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 對JQuery對象的屬性,特性以及數據的操作: 特性(attributes)和屬性(properties): 特性的值是字元串。 屬性的值不光為字元串,而且可以為布爾值,對象,數字。 元素的屬性和特性有動態鏈接,如果特性在dom對象中存在,其中一個發生變化,另一個也會變化 如果特性是本來就在dom對 ...
  • 重新學習了一遍js對象,但方法的靈活使用需要代到案例中學習,共勉 ...
  • 複合選擇器就是兩個或多個基本選擇器,通過不同方式連接而成的選擇器,主要包括“交集”選擇器、“並集”選擇器、“後代”選擇器。 交集選擇器 “交集”複合選擇器是由兩個選擇器直接連接構成,其結果是選中二者各自元素範圍的交集。其中第一個必須是標記選擇器,第二個必須是類別選擇器或者ID選擇器。這兩個選擇器之間 ...
  • [1]引入 [2]迭代器 [3]生成器 [4]可迭代對象 [5]內建迭代器 [6]高級迭代器 [7]非同步任務執行 ...
  • 前言: 做小程式有一段時間了,總結一下做過的技術點,特此貢獻給小伙伴們!項目中,有圖片存儲、視頻存儲、錄音存儲這三個需要雲對接存儲。 一、圖片/視頻/錄音上傳七牛對接 準備工作: a、你要有一個七牛賬號,實名認證後,在七牛的個人中心,有個秘鑰管理-裡面有一對秘鑰,是上傳必須的。這對秘鑰,配置在後端, ...
  • 一、概念 數組是值的有序集合。每個值叫做一個元素,兒每個元素值數組中有一個位置,以數字表示,稱為索引。數組的元素可以是任意類型,並且同一個數組中的不同元素也可能有不同的類型。 二、創建數組 1、常規方式: 2、簡介方式 3、字面方式 三、數組的讀寫 四、數組的長度 五、數組元素的添加和刪除 最簡單的 ...
  • ActiveXObject 對象 啟用和返回對自動化對象的引用。此對象僅用於實例化自動化對象,且此對象沒有成員。 警告:此對象為 Microsoft 擴展,僅在 Internet Explorer 中受支持,在 Windows 8.x 應用商店應用中不受支持。 語法: 參數:newObj:必選。Ac ...
  • 新手入門還沒有正式發點啥東西,都是在裝潢博客這個家了,到現在為止還是沒有裝修好。。熟悉了這邊的發佈規範之後會持續在這裡記錄,給自己留下學習的腳印~ 這正式的第一篇隨筆寫個使用css3的動畫效果。 總感覺電影里特工那種酷炫的應用界面很舒服,開始嘗試用css3做一個,所以這是系列篇,名字就叫做 '我要做 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...