当前位置:网站首页>Read software engineering at Google (15)
Read software engineering at Google (15)
2022-04-23 17:29:00 【InfoQ】
- read 《Software Engineering at Google》(15)—— Deprecation
- :@Google, The code is assumed to be a liability (liability), Code is not an asset (asset)
- : Abandoning (Deprecation)vs compatible (Compatibility), The former takes courage , The latter also requires courage , One is to throw away the old and move forward easily , The so-called loss of courage , One is to carry the old load forward , The so-called courage to hold . Although it's all courage , The courage of the former will bring more confidence and opportunities , The latter continues to weaken their courage , Until fear breeds .
- : The so-called debt , Just lack , Then pay the debt , Abandonment is debt cancellation , That makes sense . But why code is debt , In intuition , Or all the time , Codes are considered valuable assets , Such a cognitive reversal , Why there is , How to produce , How to reverse , My brain is a little tangled .
- : Forced scrap , This is conventional in mechanical products . Wear to a certain extent , Security risks continue to rise , This reason is enough to start mandatory scrapping . The process of scrapping and replacing , Is in the process of upgrading iteration . software system , No matter how you run, you won't CPU Or memory is damaged by grinding , But that doesn't mean there's no security problem . The software system is based on the technology and use environment , All in rapid iterative improvement , The evolution route of this progress has many factors , Especially the change of use environment caused by network factors , Cause the safety problem is not considered from the beginning , To the final direct exposure . Such security problems , Enough to be a reason to start software scrapping .
- : Keep asking , What factors , It can promote the continuous improvement of software system , Until there is a new replacement . The ship of Theseus , Change a part every day , After a period of time , Almost everywhere are new parts . The replacement is abandoned , It's compatible , In the end, it's the ship Theseus . If it can shoot artillery at first , Then replace... Anyway , Will not have the ability to launch cruise missiles . Yes . If the function does not change , At least there is no revolutionary change , That is, continuous compatible replacement . Only the subversive functional difference from artillery to cruise missile , The wooden ship is to be abandoned , A cruiser made of steel and iron . Think again , I haven't heard the saying that warships can change a little every day . It also says , The more powerful 、 The more dedicated the system , When its functions are eliminated , That is, when its software system is abandoned . In the software industry , From single system to distributed system , The reason why there is no need to replace the hardware , The reason lies in the basic operating system software on top of the hardware , A radical innovation , The result is still compatible with the software under the single system , This is the magic reproduction of software plus one layer .
版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231722143464.html
边栏推荐
- 2. Electron's HelloWorld
- Summary of common websites
- uni-app黑马优购项目学习记录(下)
- 1-4 configuration executable script of nodejs installation
- Seven cattle upload pictures (foreground JS + background C API get token)
- [registration] tf54: engineer growth map and excellent R & D organization building
- JVM类加载机制
- C语言程序设计之函数的构造
- Devexpress GridView add select all columns
- stm32入门开发板选野火还是正点原子呢?
猜你喜欢
ClickHouse-表引擎
uni-app黑马优购项目学习记录(下)
练习:求偶数和、阈值分割和求差( list 对象的两个基础小题)
Collection of common SQL statements
For the space occupation of the software, please refer to the installation directory
线性代数感悟之2
HCIP第五次实验
【生活中的逻辑谬误】稻草人谬误和无力反驳不算证明
Using quartz under. Net core -- operation transfer parameters of [3] operation and trigger
[WPF binding 3] listview basic binding and data template binding
随机推荐
Detailed explanation of Milvus 2.0 quality assurance system
Baidu Map 3D rotation and tilt angle adjustment
Webapi + form form upload file
Use between nodejs modules
STM32 entry development board choose wildfire or punctual atom?
Error in v-on handler: "typeerror: cannot read property 'resetfields' of undefined"
Understanding of RPC core concepts
Using quartz under. Net core - [1] quick start
Ouvrir des contrats à terme, ouvrir des comptes en nuage ou faire confiance aux logiciels des sociétés à terme?
Promise (I)
Perception of linear algebra 2
flink 学习(十二)Allowed Lateness和 Side Output
ClickHouse-表引擎
Clickhouse SQL operation
C语言程序设计之函数的构造
Bottom processing of stack memory in browser
stm32入门开发板选野火还是正点原子呢?
For the space occupation of the software, please refer to the installation directory
Abnormal resolution of Xiaomi camera
Generation of barcode and QR code