当前位置:网站首页>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 .
边栏推荐
- Go语言三个高效编程的技巧
- R语言plotly可视化:使用plotly可视化数据划分后的训练集和测试集、使用不同的形状标签表征、训练集、测试集、以及数据集的分类标签(Display training and test split
- The difference between V-IF and v-show
- [ansible problem processing] remote execution user environment variable loading problem
- Second, the examinee must see | consolidate the preferred question bank to help the examinee make the final dash
- Jupiter notebook operation
- Generate binary tree according to preorder & inorder traversal [partition / generation / splicing of left subtree | root | right subtree]
- Daily knowledge popularization
- Convolution kernel and characteristic graph visualization
- P2pdb white paper
猜你喜欢
v-for 中 key的作用和原理
Unit contour creation method
Keyword of ES mapping; Term query add keyword query; Change mapping keyword type
专精特新“小巨人”再启动,“企业上云”数字赋能
作为一名开发者,对你影响最深的书籍是哪一本?
postgresql之List
Research on MySQL composite index
[deep learning] storage form of nchw, nhwc and chwn format data
Three efficient programming skills of go language
v-if 和 v-show 的区别
随机推荐
Port conflict handling method for tongweb
box-sizing
R language constructs regression model diagnosis (normality is invalid), performs variable transformation, and uses powertransform function in car package to perform box Cox transform to normality on
Win10 system problems
box-sizing
简谈企业Power BI CI /CD 实施框架
探索云原生数据库,纵观未来科技发展
Maximum path sum in binary tree [handle any subtree, then handle the whole tree]
SSH keygen configuration does not require entering a password every time
动作捕捉系统用于地下隧道移动机器人定位与建图
ES mapping之keyword;term查询添加keyword查询;更改mapping keyword类型
Don't underestimate the integral mall. It can play a great role
MySQL日志管理、备份与恢复
Solution of channel management system for food and beverage industry: realize channel digital marketing layout
【环境搭建】zip 分卷压缩
第八章 操作位和位串(四)
GO语言-init()函数-包初始化
Common singleton mode & simple factory
六石管理学:垃圾场效应:工作不管理,就会变成垃圾场
测试 H5 和小程序的区别,你真的知道吗?