当前位置:网站首页>Programmers spend most of their time not writing code, but...
Programmers spend most of their time not writing code, but...
2022-06-24 19:21:00 【Java technology stack】
author | feenk Arrangement | Mengyidan
Produce | CSDN(ID:CSDNnews)
Facing the cold machine 、 Code 、 Tools , The first job of a programmer is to know what it is and why , Before we can start to knock out beautiful code .
In recent days, , A piece of 《Developers spend most of their time figuring the system out》 The article is in HacekerNews It has aroused the resonance of many developers , Author expresses , Programmers spend most of their time exploring the system , Instead of building systems .
For this topic , The earliest can be traced back to 1979 year Zelkowitz、Shaw and Gannon Published 《 Software engineering and design principles 》 A Book , The book describes , Programmers spend most of their time (67%) All spent on development and maintenance .

indeed , The book doesn't tell you what's behind this number , So in 40 Today, years later , What is the situation ?
stay CSDN Host 2022 Developer ecology meeting , Well known programmers ,MegaEase CEO Mouse with left ear ( Chen Hao ) Mentioned in the speech , No software company in China has an upgrade Department , Often old enough to 20 The system is still in use . As one can imagine , For such a system , Perhaps the first thing programmers do when they are hired is to figure out these old “ thing ” After that, he went on mending work .
Regarding this , The author mentioned that , The paper 《Measuring Program Comprehension: A Large-Scale Field Study with Professionals》 It points out the time allocation of programmers on a project , Which about 58% Time to understand the system , And explain how this figure is obtained .

Even in 40 Today, years later , The time spent exploring the system has not decreased . Although this is a very large project cost , But people talk more about how to build systems on a daily basis , Not how to figure out a system .
How do developers figure out the system ? Developers find out the architecture and branches of the system by reading the code , This conclusion is also in the paper 《Measuring Program Comprehension》 It's verified .
Is there any other more efficient way ? Why should programmers read the source code ? In fact, for programmers , If you only know it but don't know why , It's hard to build the code in the next step , So find out the system , The main thing is to make better programming decisions .

Reading is just a means of collecting information from data , It also happens to be the most manual way , This provides an important opportunity for optimization .
Before doing something important , People tend to name , Otherwise, it will be like Voldemort . Years ago , Understanding the system and then doing the next step is called evaluation , It also suggests that development should be optimized around evaluation .

Extracting data through reading is the most mechanical way , There's no regulation modeling , It will also bring incomplete and uncertain information . Before we know the whole picture of the system , Decision making should not be based on faith . Data science tells us , It should be problem oriented to match the corresponding tools for reasoning .

Software is not an island , It's made up of countless related items , So people can't predict specific problems , But you can predict the problem category . Establish the idea of plastic development , After finding out the problem , Build a custom tool process , So as to quickly deal with the important content in the context . In the next decade , People don't need to read the source code to measure whether “ Figured out the system ”, It should be replaced by solving practical problems .
On this topic ,HackerNews Many people have mentioned pair programming , a gleenn Netizens put forward the pair programming mode : People tend to avoid or struggle with pair programming , It is considered that the time and cost of pair programming are non pair 2 times , This is a completely wrong understanding . When he works in a place where he takes turns doing pair programming every day , Write code in front of someone who is familiar with the system and can immediately answer your questions , The efficiency of a new developer can soar , Millions of times faster than one person .
ID by kayodelycaon The user said , In a 100% Where pair programming takes place , It means that people who can't pair will be filtered , And whether pair programming can be carried out , It has a relationship with all aspects of the parties , For example, you have ADHD 、 Short term memory problems, etc . But I can write very good code , Will consider the readability of the code 、 Algorithm complexity 、 side effect 、 Testability and other small details .
Link to the original text :https://lepiter.io/feenk/developers-spend-most-of-their-time-figuri-9q25taswlbzjc5rsufndeu0py/
Recent hot article recommends :
1.1,000+ Avenue Java Arrangement of interview questions and answers (2022 The latest version )
2. Explode !Java Xie Cheng is coming ...
3.Spring Boot 2.x course , It's too complete !
4. Don't write about the explosion on the screen , Try decorator mode , This is the elegant way !!
5.《Java Development Manual ( Song Mountain version )》 The latest release , Download it quickly !
I think it's good , Don't forget to like it + Forward !
边栏推荐
- Volcano becomes spark default batch scheduler
- TKDE2022:基于知识增强采样的对话推荐系统
- starring V6平台开发接出点流程
- 一文理解OpenStack网络
- 对国产数据库厂商提几个关于SQL引擎的小需求
- Ask a question. Adbhi supports the retention of 100 databases with the latest IDs. Is this an operation like this
- Source code analysis of ArrayList
- API管理之利剑 -- Eolink
- Dataworks development ODPs SQL development production environment automatic completion of ProjectName
- Why useevent is not good enough
猜你喜欢

Remote sensing Forum

Sr-gnn shift robot gnns: overlapping the limitations of localized graph training data

Game between apifox and other interface development tools

How to customize cursor position in wechat applet rotation chart

Interprétation de la thèse (SR - gnn) Shift Robust GNNS: Overcoming the Limits of Localized Graph Training Data

Necessary fault handling system for enterprise network administrator

60 个神级 VS Code 插件!!

Introduction and download of nine npp\gpp datasets

一次 MySQL 误操作导致的事故,高可用都不顶不住!

Module V
随机推荐
[leetcode] rotation series (array, matrix, linked list, function, string)
小滴课堂海量数据处理商用短链平台大课
Will the CDC read out of order when I use SQL
What do I mean when I link Mysql to report this error?
Interpreting harmonyos application and service ecology
Generate the last login user account report of the computer through SCCM SQL
How to customize cursor position in wechat applet rotation chart
At present, only CDC monitors Mysql to get the data of new columns. Sqlserver can't, can it
敏捷之道 | 敏捷开发真的过时了么?
MySQL binlog data source configuration document, please share
Freeswitch使用originate转dialplan
Volcano becomes spark default batch scheduler
NFT质押流动性挖矿系统开发技术
php OSS文件讀取和寫入文件,workerman生成臨時文件並輸出瀏覽器下載
BSS应用程序云原生部署的8大挑战
一文理解OpenStack网络
怎么使用R包ggtreeExtra绘制进化树
ls 常用参数
Sr-gnn shift robot gnns: overlapping the limitations of localized graph training data
Volcano成Spark默認batch調度器