当前位置:网站首页>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 type transfer
- XTask与Kotlin Coroutine的使用对比
- [difference between Oracle and MySQL]
- ASP. Net core reads the configuration file in the class library project
- Some problems encountered in recent programming 2021 / 9 / 8
- Deep understanding of control inversion and dependency injection
- matlab如何绘制已知公式的曲线图,Excel怎么绘制函数曲线图像?
- HCIP第五次实验
- Using quartz under. Net core -- a simple trigger of [7] operation and trigger
- Advantages and disadvantages of several note taking software
猜你喜欢
Clickhouse table engine
. net cross platform principle (Part I)
双指针进阶--leetcode题目--盛最多水的容器
Deep understanding of control inversion and dependency injection
Why do some people say SCM is simple and I have to learn it so hard?
Lock lock
Devexpress GridView add select all columns
Document operation II (5000 word summary)
RPC核心概念理解
双闭环直流调速系统matlab/simulink仿真
随机推荐
Detailed explanation of C webpai route
Basic case of Baidu map
Promise (III)
Understanding of RPC core concepts
Signalr can actively send data from the server to the client
Come out after a thousand calls
Manually implement simple promise and its basic functions
Solution of Navicat connecting Oracle library is not loaded
Use of five routing guards
Solution architect's small bag - 5 types of architecture diagrams
Freecodecamp ---- budget & category exercise
Using quartz under. Net core -- a simple trigger of [7] operation and trigger
Input file upload
El cascade and El select click elsewhere to make the drop-down box disappear
Simulation of infrared wireless communication based on 51 single chip microcomputer
Model problems of stock in and stock out and inventory system
Preliminary understanding of promse
ClickHouse-表引擎
[PROJECT] small hat takeout (8)
MySQL installation