一線技術管理者究竟在管什么事?


概述

上篇文章《一個人被提拔,不僅僅是能力,而是信任》 中分享了兩個點:

  1. 什么樣的工程師,容易被提拔?
  2. 當被提拔到一線管理者后,你的初衷是什么?

這篇文章分享 一線技術管理者 究竟在管什么事?

咱們從一次完整項目的發布說起,一次完整項目的發布,大概需要經過這幾個大的節點:

項目立項 -> 需求評審 -> 視覺稿評審 -> 技術評審 -> 項目啟動 -> 開發 -> 聯調 -> 測試 -> 發布

有句話是這么說的,通過控制過程質量,來保證結果質量。

那么,一線管理者要做的就是保證每個節點的質量,來保證整個項目的質量。

怎么保證?往下看。

制定規范

技術評審規范

在技術評審前要熟悉產品同學提供的產品文檔業務流程圖交互原型圖,反復與產品同學確認,在雙方達成一致的情況下,再設計技術方案。

設計技術方案要從 總體 到 局部 ,做到面面俱到。

總體:

  • 總體結構圖
  • 業務流程圖
  • 時序圖
  • 核心類圖

局部:

  • 功能的變更
  • 數據庫字段的變更
  • 業務流程上的變更
  • 上下游接口約定的變更

當技術方案確定了,我們就確定了:

  • 技術選型(前端/后端框架、日志中間件、消息中間件、數據庫...)
  • 技術架構(組件與組件之間如何協同工作,如何部署)
  • 技術難點預知(明確存在的技術難點,並確定解決方案)
  • 性能瓶頸預知(明確可能存在性能瓶頸的地方,並確定應對措施)
  • 上下游系統交互(明確在流程中的哪個位置,約定接口文檔提供時間、接口聯調時間)
  • 功能模塊划分(任務拆分和分配)

當技術方案確定了,需要輸出文檔:

  • 預估開發工期.xlsx,包括 系統模塊功能功能簡述研發人員工時(h)預計完成時間 等。

    功能除了包括正常的開發工作,還要包括 提供接口文檔接口聯調研發自測文檔更新 等。

    正常的功能開發,拆分成工時的顆粒度最大為 2h,這樣的顆粒度能夠降低工作的復雜度,使不熟悉相關業務的研發也能夠快速上手,比如 2h 就寫一個方法。

  • 更新項目文檔,包括 項目介紹產品文檔業務流程系統結構接口文檔數據字段外部依賴其他 等。

    這個分類可自定義,主要是為了解決 當人員發生流動 導致 系統交接時產生遺漏的問題。

代碼風格規范

雖然代碼風格並不影響程序的運行,也不會給程序帶來潛在的危險,但是一段好的代碼風格,閱讀起來能讓人賞心悅目,特別是閱讀別人的代碼,就像自己寫的一樣。

根據自己使用的語言,制定代碼風格規范,可參考語言的相關標准,比如 PHPPSR

代碼風格規范達成一致后,一定要落實到文檔上!!!方便其他同事進行 CodeReview 時使用。

代碼開發規范

  • 接入 統一可視化日志 平台。
  • 接入 統一配置中心 平台。
  • 接入 統一異常監控 平台。
  • 接入 統一消息中間件 平台。
  • 異常處理規范:直接返回、拋出異常、重試處理、熔斷處理、降級處理。
  • 統一 API 規范:HTTP 接口、RPC 接口,Code、Msg、Data 等。
  • 分支開發規范:分支名稱規范、熱修復規范、上線規范 等。
  • 其他規范,大家可以自行補充 ...

代碼管理規范

常用的代碼管理工具:GitSVN

工具的使用,大家都知道,就不多說了,約定一些基礎的規范。

  • 不要提交自己的用戶配置,比如 IDE 配置。
  • 不要提交不能通過編譯的代碼。
  • 要早提交、常提交,提交之前要先更新。
  • 提交信息一定要認真填寫,參考如下規范。

<type>(scope):<subject>,比如:fix(首頁模塊):修復彈窗 JS Bug。

type 表示 動作類型,可分為:

  1. fix:修復 xxx Bug
  2. feat:新增 xxx 功能
  3. test:調試 xxx 功能
  4. style:變更 xxx 代碼格式或注釋
  5. docs:變更 xxx 文檔
  6. refactor:重構 xxx 功能或方法

scope 表示 影響范圍,可分為:模塊、類庫、方法等。

subject 表示 簡短描述,最好不要超過 60 個字,如果有相關 Bug 的 Jira 號,建議在描述中加上。

CodeReview 規范

說實話,由於種種原因,自己實施的並不好。

CodeReview 檢查哪些問題?

  • 規范性檢查

    • 是否遵循代碼開發風格規范、代碼開發規范。
    • 是否所有的變量都被正確定義和使用,注釋是否准確。
  • 健壯性檢查

    • 是否無意中陷入了死循環。
    • 是否存在異常未處理、資源未釋放的情況。
    • 是否存在運行時錯誤(數組邊界溢出、除以零的情況)。
  • 重用性檢查

    • 是否存在相同的方法寫了兩次,是否可以寫成通用類、方法、組件等。
  • 安全性檢查

    • 是否存在 SQL注入、XSS、SSRF、CSRF、越權、文件上傳 等漏洞。
  • 性能檢查

    • 是否存在同步執行太慢,需要轉成異步執行的情況。
    • 是否存在未加緩存,頻繁鏈接 DB 的情況。
    • 是否需要使用連接池。

CodeReview 如何執行?

  • 前期准備

    • 制定 CodeReview 規范和標准,這樣在審查過程中可以有據可依,有理可循。
    • 確定 CodeReview 審查者、參與者。
  • 實施期

    • 在 CodeReview 前,審查者需將 審查內容 及 審查的規范和標准 告知所有參與者和代碼作者。
    • 在 CodeReview 時,審查者要進行逐項審查,不能因為時間不足等因素一掃而過。
    • 在 CodeReview 后,審查者要對發現的問題,給予解決方案,同時進行問題記錄,便於事后跟蹤。
    • 審查者不能只在發現問題時提問,遇到不清楚的代碼設計和業務,也可以讓代碼作者進行講解,便於自己熟悉整個業務和代碼設計。
    • 期間營造一個討論問題、解決問題的氛圍,不能搞成批判會,這樣會影響大家的積極性。
  • 事后跟蹤

    • 對發現的問題,確定修復的難易程度以及影響的范圍。
    • 對發現的問題,確定修復完成的時間點。
    • 對發現的問題,修復后要進行驗證。

小結

如上就是一線技術管理者要做的事,這些只是 管事 當中的一小部分。

我猜想,有些讀者可能會有這個問題:哪來的時間呀?業務代碼天天加班都搞不完,哪些時間搞這些?

這個問題... 首先要承認在大部分的公司中,業務代碼是剛需,因為是靠這些業務掙錢的,需要快速上線占領市場的。

當隨着公司的發展,技術人員的擴充,規范肯定要慢慢建立起來的,否則就會出現這樣那樣的問題。

如果公司就幾名技術人員,可以先不用搞這些,優先快速發展業務吧。

當各位發現有哪些地方不對 或 不完善的地方,歡迎批評指正。

推薦閱讀


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM