如何写出高质量的代码?现在知道还不晚

2024-02-28 03:58

本文主要是介绍如何写出高质量的代码?现在知道还不晚,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

书单来自:https://www.quora.com/What-are-some-good-books-about-code-quality

在今天的时代,每个人都在努力提升自己的能力。如果我们谈论Web应用程序,就会想到Spring,Play和Struts等框架,这些框架可以帮助我们构建具有可扩展性和可管理性的软件。通过它们,你基本不需要写太多的代码就可以构建一个应用。

但事实上编写代码并不难,编写高质量的代码却很难。

作为开发人员,一定都想达到客户期望的那样,编写出没有出现任何Bug的代码,但这基本不可能。如何判断一段代码是否高质量,一个好的经验法则是是否:这段代码可以让任何人可以像读短语一样读它

 

本文我们将盘点5本能够帮助你编写出高质量代码的好书:

 

1、《重构》

 

如何写出高质量的代码?现在知道还不晚-爱尖刀

  • 豆瓣评分9.3,销量百万

  • 世界级软件开发大师Martin的不朽经典

  • 涵盖70多个可行的重构

 

本书解释重构的原理(principles)和最佳实践方式(best practices),并指出何时何地你应该开始挖掘你的代码以求改善,涵盖了70多个可行的重构,自出版以来一直深受读者喜爱,好评如潮

 

时隔20年,《重构》出版了第二版,相对第一版,第二版的整体结构并没有太大改动,但每一章的内容基本都进行重写,最主要的是代码示例不再是Java,而是选择JavaScript。查看更多第二版详情可点击:《豆瓣评分9.3!时隔20年,《重构》第二版终于来了!》

 

 

2、《代码大全(第二版)》

 

如何写出高质量的代码?现在知道还不晚-爱尖刀

  • 数十万读者的选择

  • 有关概念适用于大多数常见的编程语言

  • 将近500个代码示例

 

本书从软件质量和编程思想等方面论述了软件构造问题,并详细论述了紧跟潮流的新技术、高屋建瓴的观点、通用的概念,还含有丰富而典型的程序示例。

 

本书的第二版不是第一版的简单修订增补,而是完全进行了重写;增加了很多与时俱进的内容,现在看依然不会过时,丰富的程序示例在今天也依然适用。

 

 

3、《代码阅读》

 

如何写出高质量的代码?现在知道还不晚-爱尖刀

 

本书是2004年美国Jolt大奖入围作品。本书的作者Diomidis Spinellis使用了超过600个来自现实世界中的例子来向我们展示如何鉴别好的(或坏的)代码:如何去阅读它,从中去找寻什么,以及如何利用这种技巧来提升我们自身编写的代码的品质。

 

 

4、《Code Quality》

 

如何写出高质量的代码?现在知道还不晚-爱尖刀

 

美亚评分4.0,Diomidis Spinellis的第一本书《Code Reading》向程序员展示了如何理解和修改软件的关键功能特性。Code Quality专注于非功能属性,Spinellis利用数百个开源项目中作为示例 - 例如BSD Unix系统和HSQLDB Java数据库等,来说明每个软件开发人员都能够理解的概念,和能够立即应用的技术。

 

 

5、《代码整洁之道》

 

如何写出高质量的代码?现在知道还不晚-爱尖刀

 

  • 豆瓣评分9.0

  • 阐述了整洁代码的敏捷实践的方法 

  • 书中介绍规则均来自Martin多年的经验,拥有很高的借鉴价值

 

本书被程序员风味编写出干净代码的圣经,Bob叔通过本书给出了一系列行之有效的整洁代码操作实践。这些实践在本书中体现为一条条规则(或称“启示”),并辅以来自现实项目的正、反两面的范例。只要遵循这些规则,就能编写出干净的代码,从而有效提升代码质量。

 

 

6、《编写可读代码的艺术》

 

如何写出高质量的代码?现在知道还不晚-爱尖刀

 

本书关注编码的细节,总结了很多提高代码可读性的小技巧,本书旨在强调代码对人的友好性和可读性。主要涵盖以下内容:

  • 简化命名、注释和格式的方法,使每行代码都言简意赅。

  • 梳理程序中的循环、逻辑和变量来减小复杂度并理清思路。

  • 在函数级别解决问题,例如重新组织代码块,使其一次只做一件事。

  • ......

 

 

7、《代码之美》

 

如何写出高质量的代码?现在知道还不晚-爱尖刀

 

每个人对代码之美都有自己的认识,有38位作者,每位作者贡献一章。每位作者都将自己心目中对于“美丽的代码”的认识浓缩在一章当中,从而让读者可以学习顶级程序员的思维方式和代码方式。

学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习C/C++或者为了入行、转行学习C/C++的伙伴可以关注公众号:【速学C语言】 咱们一起学习!

现在加入免费赠送一份C语言基础课程! 直接扫描下方二维码也可以哦!

这篇关于如何写出高质量的代码?现在知道还不晚的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/754357

相关文章

利用c++判断水仙花数并输出示例代码

《利用c++判断水仙花数并输出示例代码》水仙花数是指一个三位数,其各位数字的立方和恰好等于该数本身,:本文主要介绍利用c++判断水仙花数并输出的相关资料,文中通过代码介绍的非常详细,需要的朋友可以... 以下是使用C++实现的相同逻辑代码:#include <IOStream>#include <vec

Java 接口定义变量的示例代码

《Java接口定义变量的示例代码》文章介绍了Java接口中的变量和方法,接口中的变量必须是publicstaticfinal的,用于定义常量,而方法默认是publicabstract的,必须由实现类... 在 Java 中,接口是一种抽象类型,用于定义类必须实现的方法。接口可以包含常量和方法,但不能包含实例

使用Redis实现会话管理的示例代码

《使用Redis实现会话管理的示例代码》文章介绍了如何使用Redis实现会话管理,包括会话的创建、读取、更新和删除操作,通过设置会话超时时间并重置,可以确保会话在用户持续活动期间不会过期,此外,展示了... 目录1. 会话管理的基本概念2. 使用Redis实现会话管理2.1 引入依赖2.2 会话管理基本操作

mybatis-plus分表实现案例(附示例代码)

《mybatis-plus分表实现案例(附示例代码)》MyBatis-Plus是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生,:本文主要介绍my... 目录文档说明数据库水平分表思路1. 为什么要水平分表2. 核心设计要点3.基于数据库水平分表注意事项示例

Nginx服务器部署详细代码实例

《Nginx服务器部署详细代码实例》Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,:本文主要介绍Nginx服务器部署的相关资料,文中通过代码... 目录Nginx 服务器SSL/TLS 配置动态脚本反向代理总结Nginx 服务器Nginx是一个‌高性

HTML5的input标签的`type`属性值详解和代码示例

《HTML5的input标签的`type`属性值详解和代码示例》HTML5的`input`标签提供了多种`type`属性值,用于创建不同类型的输入控件,满足用户输入的多样化需求,从文本输入、密码输入、... 目录一、引言二、文本类输入类型2.1 text2.2 password2.3 textarea(严格

JAVA项目swing转javafx语法规则以及示例代码

《JAVA项目swing转javafx语法规则以及示例代码》:本文主要介绍JAVA项目swing转javafx语法规则以及示例代码的相关资料,文中详细讲解了主类继承、窗口创建、布局管理、控件替换、... 目录最常用的“一行换一行”速查表(直接全局替换)实际转换示例(JFramejs → JavaFX)迁移建

Go异常处理、泛型和文件操作实例代码

《Go异常处理、泛型和文件操作实例代码》Go语言的异常处理机制与传统的面向对象语言(如Java、C#)所使用的try-catch结构有所不同,它采用了自己独特的设计理念和方法,:本文主要介绍Go异... 目录一:异常处理常见的异常处理向上抛中断程序恢复程序二:泛型泛型函数泛型结构体泛型切片泛型 map三:文

MyBatis中的两种参数传递类型详解(示例代码)

《MyBatis中的两种参数传递类型详解(示例代码)》文章介绍了MyBatis中传递多个参数的两种方式,使用Map和使用@Param注解或封装POJO,Map方式适用于动态、不固定的参数,但可读性和安... 目录✅ android方式一:使用Map<String, Object>✅ 方式二:使用@Param

SpringBoot实现图形验证码的示例代码

《SpringBoot实现图形验证码的示例代码》验证码的实现方式有很多,可以由前端实现,也可以由后端进行实现,也有很多的插件和工具包可以使用,在这里,我们使用Hutool提供的小工具实现,本文介绍Sp... 目录项目创建前端代码实现约定前后端交互接口需求分析接口定义Hutool工具实现服务器端代码引入依赖获