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

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

相关文章

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

D4代码AC集

贪心问题解决的步骤: (局部贪心能导致全局贪心)    1.确定贪心策略    2.验证贪心策略是否正确 排队接水 #include<bits/stdc++.h>using namespace std;int main(){int w,n,a[32000];cin>>w>>n;for(int i=1;i<=n;i++){cin>>a[i];}sort(a+1,a+n+1);int i=1

免费也能高质量!2024年免费录屏软件深度对比评测

我公司因为客户覆盖面广的原因经常会开远程会议,有时候说的内容比较广需要引用多份的数据,我记录起来有一定难度,所以一般都用录屏工具来记录会议内容。这次我们来一起探索有什么免费录屏工具可以提高我们的工作效率吧。 1.福晰录屏大师 链接直达:https://www.foxitsoftware.cn/REC/  录屏软件录屏功能就是本职,这款录屏工具在录屏模式上提供了多种选项,可以选择屏幕录制、窗口

html css jquery选项卡 代码练习小项目

在学习 html 和 css jquery 结合使用的时候 做好是能尝试做一些简单的小功能,来提高自己的 逻辑能力,熟悉代码的编写语法 下面分享一段代码 使用html css jquery选项卡 代码练习 <div class="box"><dl class="tab"><dd class="active">手机</dd><dd>家电</dd><dd>服装</dd><dd>数码</dd><dd

为什么现在很多人愿意选择做债务重组?债重组真的就这么好吗?

债务重组,起初作为面向优质企业客户的定制化大额融资策略,以其高效周期著称,一个月便显成效。然而,随着时代的车轮滚滚向前,它已悄然转变为负债累累、深陷网贷泥潭者的救赎之道。在此路径下,个人可先借助专业机构暂代月供,经一段时间养护征信之后,转向银行获取低成本贷款,用以替换高昂网贷,实现利息减负与成本优化的双重目标。 尽管债务重组的代价不菲,远超传统贷款成本,但其吸引力依旧强劲,背后逻辑深刻。其一

生信代码入门:从零开始掌握生物信息学编程技能

少走弯路,高效分析;了解生信云,访问 【生信圆桌x生信专用云服务器】 : www.tebteb.cc 介绍 生物信息学是一个高度跨学科的领域,结合了生物学、计算机科学和统计学。随着高通量测序技术的发展,海量的生物数据需要通过编程来进行处理和分析。因此,掌握生信编程技能,成为每一个生物信息学研究者的必备能力。 生信代码入门,旨在帮助初学者从零开始学习生物信息学中的编程基础。通过学习常用