当前位置:网站首页>As a developer, what is the most influential book for you?
As a developer, what is the most influential book for you?
2022-06-24 14:26:00 【People mail asynchronous community】
Books that affect generations of programmers are not 《 restructure Improve the design of existing code ( The first 2 edition Paperback )》 Perhaps judge of particulars, . Software development master Martin · Fowler (Martin Fowler) The immortal classics of , The secret collection that ordinary programmers must cultivate when they are advanced to programming masters .
Douban score 9.3

Front line practitioners often use it casually “ restructure ” The word —— Many words in the field of software development have this treatment .
restructure ( Noun ): An adjustment to the internal structure of software , The goal is to... Without changing the observable behavior of the software , Improve its comprehensibility , Reduce its modification cost .
This definition applies to the named refactorings I mentioned in the previous example , For example, refine functions and replace with polymorphism Conditional expression .
The definition of the verb form is :
restructure ( Verb ): Use a series of refactoring techniques , Without changing the observable behavior of the software , Adjust its structure .
Over the past decade , Many people in this industry use “ restructure ” This word refers to any form of code cleanup , But the definition above refers to a specific way to clean up the code . The key to refactoring is to use a large number of small and maintain Software The steps of behavior , Step by step to achieve large-scale changes . Each individual refactoring is either small , Or a combination of small steps . therefore , In the process of refactoring , My code rarely goes into an inoperable state , Even if the refactoring is not complete , I can also stop at any time .
If someone says their code is unavailable for a day or two during refactoring , It's basically certain that , What they're doing is not refactoring .
This book is a refactoring guide for professional programmers . My goal is to show you how to refactor in a controlled and efficient way . You will learn how to improve the program structure in an orderly way , And it doesn't introduce mistakes , This is the right way to refactor .
The target audience of this book is professional programmers , Those who write software for a living . Examples and discussions in the book , It involves a lot of code that needs to be read and understood in detail . These examples all use JavaScript It's written in , But these Reconstruction technique Should be applicable to most programming languages . In order to understand the contents of the book , Readers need some programming experience , But not much knowledge is needed .
20 Famous computer science works with a good reputation over the years 《 Programming pearls 》 It is also a book that affects several generations of programmers , By Jon · Bentley (Jon Bentley) Computer scientists , Known as one of the ten masters who influence the development of algorithms .
Douban score 8.5

Programmers are optimists , They always try to take shortcuts : Write function code , And plug it into the system , Then eagerly expect it to work . Sometimes it works . But there is a 999 in 1000 chance , Doing so would lead to a disaster : People have to manipulate this little function in the maze of giant systems .
Every programmer knows that debugging is difficult . however , Great debuggers can make the job look simple . The distraught programmer described a bug to the debugging guru that they hadn't caught for hours , And after the master asked a few questions , It took them a few minutes to find the error code . Professional debugging personnel will never forget , No matter how mysterious the behavior of the system may seem at first glance , There is always a logical explanation behind it .
This book describes the more attractive side of computer programming : Beyond reliable engineering , Programming pearls crystallized within the scope of insight and creativity . Just as pearls in nature come from honing Oysters Like fine sand , These programming pearls come from honing the practical problems of programmers . The procedures in the book are very interesting , Taught important programming skills and basic design principles .
A hint for reading this book : Don't read too fast . Read it carefully , Read one chapter at a time . Try to answer the questions raised in the book —— Some problems need to be focused for an hour or two before they become easy . then , Try to solve the exercises at the end of each chapter : When the reader writes down the answer , Most of the knowledge learned from this book will jump onto the paper . If possible , First discuss your ideas with friends and colleagues , Then go to the tips and answers at the end of the book . At the end of each chapter “ Read deeply ” It's not an academic reference list , But some good books I recommend , These books are an important part of my personal collection .
This book is a classic in computer science . The content of the book revolves around Programming A series of practical problems faced by personnel are unfolded . author Jon Bentley With its unique insight and creativity , Guide readers to understand these problems and learn how to solve them , And these are very important in the actual programming career of programmers . This book is characterized by some well-designed interesting and instructive procedures , This paper gives a thorough and wise description of practical programming skills and basic design principles , It provides a clear and complete solution for complex programming problems . This book has a high reading value for programmers at all levels .
Finally, I would like to recommend another book 《 Clean code 》 Uncle Bob's work , The programmer , Gather the experience of programming for decades , Explain how to solve software developers 、 The thorny problems faced by project managers and software project leaders .
Douban score :8.6
Some Douban readers have sorted the following books , By the way , What sort of books do you have on your shelf .《 Clean code 》>《 The code of 》>《 restructure 》

As long as you've been programming for two or three years , You might have stumbled over someone's bad code . If you've been programming for more than two or three years , It's also possible to be dragged down by this kind of code . The degree of progress delay will be very serious . Some teams make rapid progress at the beginning of the project , But for a year or two, it was as slow as a worm . Every change to the code affects two or three other parts of the code . No minor matter of modification . Every time you add or modify a code , You have to know that pile of twisted firewood , In this way, more twisted firewood can be thrown up . The mess is getting bigger and bigger , I can't figure it out anymore , At last there was nothing to do .
Have you ever encountered a situation that is so serious that it takes weeks to do something that could have been done in hours ? Have you ever seen that you only need to make one line of modification , The result involves hundreds of modules ? This kind of thing is too common .
How could this happen ? Why does good code deteriorate so quickly into bad code ? There are many reasons . We complain that demand changes deviate from the initial design . We lamented that the schedule was too tight , Can't do a good job .
This book presents an idea : Code quality is directly proportional to its cleanliness . Clean code , More reliable in quality , Also for later maintenance 、 The upgrade laid a good foundation . As a leader in programming , The author of this book gives a series of effective clean code operation practices . These practices are embodied in this book as one rule ( Or called “ Revelation ”), And it's supplemented by positive 、 An example of both sides . Just follow these rules , You can write clean code , So as to effectively improve the code quality .
This book is written for programmers and technical managers who are interested in improving the quality of their code . The rules introduced in the book are all from the author's many years of practical experience , It covers many aspects of programming from naming to refactoring , Although one “ home ” Words , However, sincerity has value for reference .
边栏推荐
猜你喜欢

Solution of channel management system for food and beverage industry: realize channel digital marketing layout
![[leetcode] 10. Regular expression matching](/img/a9/4cdf8d46068a2d7ea6ac212f416157.png)
[leetcode] 10. Regular expression matching

v-if 和 v-show 的区别

Method of inputting dots under letters in markdown/latex

Idea connection MySQL custom generated entity class code

postgresql之词法分析简介

数字臧品系统开发 NFT数字臧品系统异常处理源码分享

Development of B2B transaction collaborative management platform for kitchen and bathroom electrical appliance industry and optimization of enterprise inventory structure

Virtual machines on the same distributed port group but different hosts cannot communicate with each other

PgSQL queries the largest or smallest data of a field in a group
随机推荐
Halcon draw area into picture
10_那些格调很高的个性签名
`Thymeleaf ` template engine comprehensive analysis
Maximum path sum in binary tree [handle any subtree, then handle the whole tree]
R语言plotly可视化:使用plotly可视化数据划分后的训练集和测试集、使用不同的形状标签表征、训练集、测试集、以及数据集的分类标签(Display training and test split
ESP32系列--ESP32各个系列对比
Keras深度学习实战(11)——可视化神经网络中间层输出
动作捕捉系统用于地下隧道移动机器人定位与建图
From pair to unordered_ Map, theory +leetcode topic practice
Some basic database operations (providing the original database information)
How to evaluate domestic reporting tools and Bi software
成功解决:selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This versi
v-if 和 v-show 的区别
一文搞定 UDP 和 TCP 高频面试题!
10_那些格調很高的個性簽名
入行 4 年,跳槽 2 次,我摸透了软件测试这一行
IDEA连接mysql自定义生成实体类代码
P2pdb white paper
Bert whitening vector dimension reduction and its application
One article to get UDP and TCP high-frequency interview questions!