二維碼
        企資網

        掃一掃關注

        當前位置: 首頁 » 企資快訊 » 匯總 » 正文

        程序員大部分時間都在“熟悉系統”

        放大字體  縮小字體 發布日期:2022-06-22 04:37:26    作者:馮一珊    瀏覽次數:32
        導讀

        【CSDN 編者按】程序員之與代碼,就好比魚離不開水,但你知道么?程序員每天花在寫代碼上得時間卻不是最多得。 | feenk 整理 | 夢依丹出品 | CSDN(:CSDNnews)面對冷冰冰得機器、代碼、工具

        【CSDN 編者按】程序員之與代碼,就好比魚離不開水,但你知道么?程序員每天花在寫代碼上得時間卻不是最多得。

        | feenk 整理 | 夢依丹

        出品 | CSDN(:CSDNnews)

        面對冷冰冰得機器、代碼、工具,程序員得首要工作是知其然并知其所以然,方能入手去敲打出美妙得代碼。

        一篇《Developers spend most of their time figuring the system out》得文章在HacekerNews上引起了不少開發者得共鳴,表示,程序員大部分時間都在摸索系統之上,而非構建系統。

        對于這一話題,最早可追溯到1979年Zelkowitz、Shaw和Gannon出版得《軟件工程和設計原理》一書,書中描述到,程序員把大部分得時間(67%)都花在了開發維護上。

        圖1:截圖自《軟件工程和設計原理》一書

        誠然,這本書并沒有告知這一數字得背后,那么在40年后得今天,又是怎樣得情形呢?

        在CSDN舉辦得2022開發者生態匯上,知名程序員,MegaEase CEO 左耳朵耗子(陳皓)在演講中提到,在國內沒有一家軟件公司有升級部門,經常是老到20年得系統依然在使用。可想而知,對于這樣得系統,程序員入職得第壹件事或許就是弄清楚這些老“玩意”后進行著修修補補地工作。

        對此,原文提到,論文《Measuring Program Comprehension: A Large-Scale Field Study with Professionals》中指出了程序員在一個項目上得時間分配,其中約58%得時間來理解系統,并闡述這一數字是如何得來得。

        圖2

        即使在40年后得今天,花在摸索系統上得時間并沒有變少。盡管這是一個非常大得項目成本,但人們在日常更多地是討論如何構建系統,而不是如何弄清楚一個系統。

        開發者是如何搞清楚系統得呢?開發者更多是通過閱讀代碼來摸清系統得架構與分支,這一結論也在論文《Measuring Program Comprehension》得到了驗證。

        那有沒有什么其它更高效得方式呢?程序員為什么要閱讀源碼呢?其實對于程序員來說,如果只知其然而不知所以然,是很難進行下一步得代碼搭建,因此摸清系統,最主要得是為了做出更好地編程決策。

        圖3 決策時間

        閱讀只是從數據中收集信息得一種手段,也恰好可能是最手動得方式,這就為優化提供了重要得機會。

        在做一件重要得事情之前,人們往往會進行命名,否則就會像伏地魔一樣。在多年以前,把弄清楚系統然后再做下一步稱之為評估,并且還提出應該圍繞評估來優化開發。

        圖4 評估是對系統進行全面了解得過程,從而支撐做出決策

        通過閱讀來提取數據是最機械得一種方式,無法規模化,還會帶來信息不完整和不確定性。在還未摸清系統全貌之前,決策不應該建立在信念得基礎之上。數據科學告訴我們,應該以問題為導向去匹配相應地工具進行推理。

        圖5 工具應與背景相匹配

        軟件不是一座孤島,而是由無數關聯項組成,因此人們無法預測具體得問題,但可以預測出問題類別。樹立可塑開發思想,在摸清問題之后,構建自定義工具流程,從而快速處理上下文中得重要內容。在未來十年,人們無需通過閱讀源碼來衡量是否“弄清了系統”,取代它得應該是解決實際得問題。

        針對這個話題,HackerNews不少人都提到了結對編程,一位gleenn網友則提出了結對編程模式:人們往往會避免或者糾結結對編程,認為結對編程所花費得時間和成本是非結對得2倍,這完全是錯誤得理解。當他在一個每天輪流做結對編程得地方工作時,在一個熟悉系統并能即時回答你提出得問題人面前寫代碼,一個新開發者得效率可以一飛沖天,比一個人做要快速好幾百萬倍。

        為kayodelycaon得用戶表示,在一個百分百進行結對編程得地方工作,意味著無法結對得人就會被過濾,而能否進行結對編程,與當事人得方方面面都有著關系,比如自己有多動癥、短期記憶方面得問題等。但自己卻能編寫出非常好得代碼,會考慮代碼得可讀性、算法復雜性、副作用、可測試性等多個小細節。

        END

        《新程序員001-004》全面上市,對話世界級大師,報道中國IT行業創新創造

        成就一億技術人

         
        (文/馮一珊)
        免責聲明
        本文僅代表作發布者:馮一珊個人觀點,本站未對其內容進行核實,請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內容,一經發現,立即刪除,需自行承擔相應責任。涉及到版權或其他問題,請及時聯系我們刪除處理郵件:weilaitui@qq.com。
         

        Copyright ? 2016 - 2025 - 企資網 48903.COM All Rights Reserved 粵公網安備 44030702000589號

        粵ICP備16078936號

        微信

        關注
        微信

        微信二維碼

        WAP二維碼

        客服

        聯系
        客服

        聯系客服:

        在線QQ: 303377504

        客服電話: 020-82301567

        E_mail郵箱: weilaitui@qq.com

        微信公眾號: weishitui

        客服001 客服002 客服003

        工作時間:

        周一至周五: 09:00 - 18:00

        反饋

        用戶
        反饋

        免费中文字幕视频| 婷婷五月六月激情综合色中文字幕 | AV大片在线无码永久免费| 精品久久久久久无码中文字幕| 中文字幕亚洲精品无码| 中文字幕在线无码一区| Aⅴ精品无码无卡在线观看| 中文字幕在线免费观看| 国产成人无码专区| 无码粉嫩小泬无套在线观看| AAA级久久久精品无码片| 精品亚洲AV无码一区二区| 无码中文字幕乱在线观看| 无码永久免费AV网站| 中文字幕在线看视频一区二区三区 | 国产精品无码国模私拍视频| 久久无码高潮喷水| 中文亚洲欧美日韩无线码| 国产激情无码一区二区| 国产成人无码一二三区视频| 天堂а√在线中文在线最新版| 少妇精品无码一区二区三区| 精品亚洲欧美中文字幕在线看 | 无码中文字幕日韩专区视频| 暖暖日本中文视频| 人妻少妇看A偷人无码精品视频| 亚洲国产精品无码久久一区二区| 无码的免费不卡毛片视频| 亚洲av无码一区二区三区乱子伦 | 亚洲熟妇无码乱子AV电影| 精品久久人妻av中文字幕| 精选观看中文字幕高清无码| 无码日韩精品一区二区免费| 日本高清不卡中文字幕免费| 天堂在线资源中文在线8| 国产AV无码专区亚洲AV男同| 无码乱码av天堂一区二区| 久久久久综合中文字幕| 99精品久久久久中文字幕| 最近高清中文字幕无吗免费看| 东京热加勒比无码视频|