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

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

相关文章

SpringBoot中四种AOP实战应用场景及代码实现

《SpringBoot中四种AOP实战应用场景及代码实现》面向切面编程(AOP)是Spring框架的核心功能之一,它通过预编译和运行期动态代理实现程序功能的统一维护,在SpringBoot应用中,AO... 目录引言场景一:日志记录与性能监控业务需求实现方案使用示例扩展:MDC实现请求跟踪场景二:权限控制与

利用Python调试串口的示例代码

《利用Python调试串口的示例代码》在嵌入式开发、物联网设备调试过程中,串口通信是最基础的调试手段本文将带你用Python+ttkbootstrap打造一款高颜值、多功能的串口调试助手,需要的可以了... 目录概述:为什么需要专业的串口调试工具项目架构设计1.1 技术栈选型1.2 关键类说明1.3 线程模

Python Transformers库(NLP处理库)案例代码讲解

《PythonTransformers库(NLP处理库)案例代码讲解》本文介绍transformers库的全面讲解,包含基础知识、高级用法、案例代码及学习路径,内容经过组织,适合不同阶段的学习者,对... 目录一、基础知识1. Transformers 库简介2. 安装与环境配置3. 快速上手示例二、核心模

Java的栈与队列实现代码解析

《Java的栈与队列实现代码解析》栈是常见的线性数据结构,栈的特点是以先进后出的形式,后进先出,先进后出,分为栈底和栈顶,栈应用于内存的分配,表达式求值,存储临时的数据和方法的调用等,本文给大家介绍J... 目录栈的概念(Stack)栈的实现代码队列(Queue)模拟实现队列(双链表实现)循环队列(循环数组

使用Java将DOCX文档解析为Markdown文档的代码实现

《使用Java将DOCX文档解析为Markdown文档的代码实现》在现代文档处理中,Markdown(MD)因其简洁的语法和良好的可读性,逐渐成为开发者、技术写作者和内容创作者的首选格式,然而,许多文... 目录引言1. 工具和库介绍2. 安装依赖库3. 使用Apache POI解析DOCX文档4. 将解析

C++使用printf语句实现进制转换的示例代码

《C++使用printf语句实现进制转换的示例代码》在C语言中,printf函数可以直接实现部分进制转换功能,通过格式说明符(formatspecifier)快速输出不同进制的数值,下面给大家分享C+... 目录一、printf 原生支持的进制转换1. 十进制、八进制、十六进制转换2. 显示进制前缀3. 指

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码

《Java中Date、LocalDate、LocalDateTime、LocalTime、时间戳之间的相互转换代码》:本文主要介绍Java中日期时间转换的多种方法,包括将Date转换为LocalD... 目录一、Date转LocalDateTime二、Date转LocalDate三、LocalDateTim

jupyter代码块没有运行图标的解决方案

《jupyter代码块没有运行图标的解决方案》:本文主要介绍jupyter代码块没有运行图标的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录jupyter代码块没有运行图标的解决1.找到Jupyter notebook的系统配置文件2.这时候一般会搜索到

Python通过模块化开发优化代码的技巧分享

《Python通过模块化开发优化代码的技巧分享》模块化开发就是把代码拆成一个个“零件”,该封装封装,该拆分拆分,下面小编就来和大家简单聊聊python如何用模块化开发进行代码优化吧... 目录什么是模块化开发如何拆分代码改进版:拆分成模块让模块更强大:使用 __init__.py你一定会遇到的问题模www.