当前位置:网站首页>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
边栏推荐
猜你喜欢
.Net Core3. 1 use razorengine NETCORE production entity generator (MVC web version)
STM32 entry development board choose wildfire or punctual atom?
索引:手把手教你索引从零基础到精通使用
【生活中的逻辑谬误】稻草人谬误和无力反驳不算证明
双指针进阶--leetcode题目--盛最多水的容器
线性代数感悟之2
ASP. NET CORE3. 1. Solution to login failure after identity registers users
Detailed explanation of Milvus 2.0 quality assurance system
Using quartz under. Net core -- operation transfer parameters of [3] operation and trigger
C# Task. Delay and thread The difference between sleep
随机推荐
Error in v-on handler: "typeerror: cannot read property 'resetfields' of undefined"
ECMAScript history
Generation of barcode and QR code
stm32入门开发板选野火还是正点原子呢?
Low code development platform sorting
Ouvrir des contrats à terme, ouvrir des comptes en nuage ou faire confiance aux logiciels des sociétés à terme?
On lambda powertools typescript
XTask与Kotlin Coroutine的使用对比
Future 用法详解
Promise (I)
双指针进阶--leetcode题目--盛最多水的容器
Using quartz under. Net core -- job attributes and exceptions of [4] jobs and triggers
Milvus 2.0 質量保障系統詳解
C# Task. Delay and thread The difference between sleep
练习:求偶数和、阈值分割和求差( list 对象的两个基础小题)
Wiper component encapsulation
ASP. Net core JWT certification
Further study of data visualization
Excel quickly and automatically fills the contents of a row on a blank cell
Understanding and small examples of unity3d object pool