当前位置:网站首页>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
边栏推荐
- Using quartz under. Net core -- operation transfer parameters of [3] operation and trigger
- 线性代数感悟之1
- Entity Framework core captures database changes
- tidb-server 的配置文件在哪里?
- Why do some people say SCM is simple and I have to learn it so hard?
- If you start from zero according to the frame
- ASP. Net core reads the configuration file in the class library project
- Self use learning notes - connected and non connected access to database
- Input file upload
- Shell-入门、变量、以及基本的语法
猜你喜欢
随机推荐
RPC核心概念理解
为什么有些人说单片机简单,我学起来这么吃力?
How to manually implement the mechanism of triggering garbage collection in node
Using quartz under. Net core -- a simple trigger of [7] operation and trigger
[C#] 彻底搞明白深拷贝
Document operation II (5000 word summary)
Bottom processing of stack memory in browser
Self use learning notes - connectingstring configuration
Manually implement simple promise and its basic functions
Conversion between hexadecimal numbers
[WPF binding 3] listview basic binding and data template binding
Change Oracle to MySQL
Shell-sed命令的使用
JS to find the character that appears three times in the string
Using quartz under. Net core -- operation transfer parameters of [3] operation and trigger
Scope and scope chain in JS
[batch change MySQL table and corresponding codes of fields in the table]
Abnormal resolution of Xiaomi camera
嵌入式系统中,FLASH中的程序代码必须搬到RAM中运行吗?
ASP. Net core dependency injection service life cycle