首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >《编程格调》--30条代码风格帮你更好撸代码

《编程格调》--30条代码风格帮你更好撸代码

作者头像
陆道峰
发布于 2020-10-29 06:33:12
发布于 2020-10-29 06:33:12
4520
举报
前言

Kernighan在书籍的绪论中鲜明地提出了自己的观点:编写代码不是炫技,要确保代码的意图不会误解,过分聪明的程序会增加与原意发生偏离的风险。

这一观点奠定了全书的基调,即编写程序不是耍小聪明,而是让自己的程序简洁明了、可读性高。作者还警示,过分聪明的代码调试难度是写程序的两倍,如果你写程序的时候尽可能聪明,那么将来你将如何调试它?

表达

1.简单并直接地表达你要说的意思2.不要自己造所有的工具,使用标准库函数3.让机器干脏活:计算机是处理反复操作的工具,我们要对重复样式/代码引起警觉并寻找疏漏,程序员要学会让计算机处理重复,用函数调用代替重复的表达式4.选择不易混淆的变量名5.使用语言好的特性,避免使用不好的特性6.保守使用临时变量,太多混乱的临时变量会让程序的读者懵逼,并且可能会对一个开了优化的编译器造成阻碍

控制结构

1.用if-else强调两个操作只有一个被执行2.确保你的程序是自顶向下阅读的3.判断要尽可能挨着与之相关的操作4.不要止步于第一遍的代码草稿,尝试优化它

程序结构

1.将程序模块化,每个模块专注于做好一件事2.不要修补烂代码,重写它3.分块编写和测试大型程序

输入和输出

1.校验输入的合法性与合理性,保证输入不会违背程序的限制2.利用文件结束符或结束标志来终止输入3.让输入的数据易于校验4.使用含义明确的输入,指定默认值,将以上二者都输出

常见错误

1.确保所有变量在使用之前被初始化2.10.0乘以0.1不等于1.0,浮点数不是绝对精确的,和0.0相等判断要谨慎3.不要比较浮点数是否相等

效率

1.把程序改得简洁2.保持简单性,程序反而会更快

文档

1.计算机程序最好的文档是代码清晰的结构。如果代码格式很好,有合适的帮助记忆的标示符和标号,还有适量有启发性的注释,也是会很有帮助的。2.流程图和程序概述是次之的,计算机程序唯一可靠的文档是代码本身。原因很简单,当一段程序有多种写法时,其间的不同之处总是存在的。如果代码存在错误,优雅的流程图和详尽的注释都是没有用处的。程序员确切懂得程序的唯一途径是阅读代码。3.这并不是说程序员不要写文档。恰恰相反,在任何规模的项目中,对于每个程序应该做什么,程序怎样使用,程序与系统其他部分如何交互,以及程序基于何种原则。要维护好以上这些,具有可读性的文档是十分关键的。这些构成了阅读代码有用的向导。4.没有用处的是狭义的文档描述,即对程序所做事情逐行记流水账。任何文档,如果没有贡献新的信息,而仅仅是重复代码的事情,都是多余的。5.不要用注释复述代码做的事情,每个注释都要有实际意义。6.不要注释糟糕的代码,重写它7.程序的格式要有助于读者的理解8.不要过度注释

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与系统 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python的代码风格
随着你编写的程序越来越长,有必要了解一些代码格式设置约定。请花时间让你的代码尽可能易于阅读;让代码易于阅读有助于你掌握程序是做什么的,也可以帮助他人理解你编写的代码。为确保所有人编写的代码结构都大致一致。Python程序员都遵循一些格式设置约定。学会编写整洁的Python后,就能明白他人编写Python代码的整体结构------只要他们和你遵循相同的指南。
狼啸风云
2019/11/03
1.5K0
Python 代码风格
1 原则 在开始讨论Python社区所采用的具体标准或是由其他人推荐的建议之前,考虑一些总体原则非常重要。 请记住可读性标准的目标是提升可读性。这些规则存在的目的就是为了帮助人读写代码,而不是相反。 本小节讨论你所需记住的一些原则。 1.1 假定你的代码需要维护 人们很容易倾向相信某时所完成的工作在未来不需要添加一部分或对其维护。这是由于很难预料到未来的需求,以及低估自己造成Bug的倾向。然而,所写代码很少不被修改一直存在。 如果你假设自己所写代码会“一劳永逸”的无需之后进行阅读、调试或修补,那么你就会非常
用户1217611
2018/01/30
1.3K0
30分钟学会用Python编写简单程序
参与文末每日话题讨论,赠送异步新书 异步图书君 学习目标 知道有序的软件开发过程的步骤。 了解遵循输入、处理、输出(IPO)模式的程序,并能够以简单的方式修改它们。 了解构成有效Python标识符和表达式的规则。 能够理解和编写Python语句,将信息输出到屏幕,为变量赋值,获取通过键盘输入的信息,并执行计数循环。 软件开发过程 运行已经编写的程序很容易。较难的部分实际上是先得到一个程序。计算机是非常实在的,必须告诉它们要做什么,直至最后的细节。编写大型程序是一项艰巨的挑战。如果没有系统的方法,几乎是不可能
企鹅号小编
2018/01/10
4.1K0
30分钟学会用Python编写简单程序
使用 Python 创造你自己的计算机游戏(游戏编程快速上手)第四版:致谢到第四章
没有 No Starch Press 团队的出色工作,这本书就不可能问世。感谢我的出版商 Bill Pollock;感谢我的编辑 Laurel Chun、Jan Cash 和 Tyler Ortman,在整个过程中给予我的难以置信的帮助;感谢我的技术编辑 Ari Lacenski 进行了彻底的审查;感谢 Josh Ellingson 再次为我设计了出色的封面。
ApacheCN_飞龙
2024/01/17
5030
使用 Python 创造你自己的计算机游戏(游戏编程快速上手)第四版:致谢到第四章
Go语言代码风格
实际上,编译器会主动把特定符号后的换行副转换为分号,因此换行符添加的位置会影响 Go 代码的解析。
hotarugali
2022/03/01
6810
思考如何学习一门编程语言?
编程语言是一种用于编写计算机程序的人工语言。通过编程语言,程序员可以向计算机发出指令,控制计算机执行各种任务和操作。编程语言由一组语法规则和语义规则组成,这些规则定义了如何编写代码以及代码的含义。
锅总
2024/07/04
2340
思考如何学习一门编程语言?
关于烂代码的那些事
这是烂代码系列的第二篇,在文章中我会跟大家讨论一下如何尽可能高效和客观的评价代码的优劣。 在发布了关于烂代码的那些事(上)之后,发现这篇文章竟然意外的很受欢迎,很多人也描(tu)述(cao)了各自代码中这样或者那样的问题。 最近部门在组织bootcamp,正好我负责培训代码质量部分,在培训课程中让大家花了不少时间去讨论、改进、完善自己的代码。虽然刚毕业的同学对于代码质量都很用心,但最终呈现出来的质量仍然没能达到“十分优秀”的程度。 究其原因,主要是不了解好的代码“应该”是什么样的。
lyb-geek
2022/03/10
3190
关于烂代码的那些事
【编程基础】写代码,你应该知道九类规则
网上有太多讲编码规范、编码习惯的文章,但我总是念的多,实际去认真阅读理解的少。或多或少的按照自己的思维去编写代码。这种习惯让我吃大亏,比如一个指针未赋值导致偶尔出错问题。所谓细节决定成败,特别是初学者
程序员互动联盟
2018/03/12
2.1K0
【编程基础】写代码,你应该知道九类规则
这5个编程名言还请您收好
三月份的开篇翻译,把我自己给搞的不知所措,一看名字的时候,感觉对编程这方面挺有帮助的,5个著名的编程名言,以及解释,吸引了我的兴趣。
程序员小跃
2020/03/16
8960
这5个编程名言还请您收好
手把手教你半个小时用python语言编程出你的第一个程序
该文章介绍了如何通过Python的os模块实现文件目录的管理。主要包括创建、删除、重命名目录和文件,以及使用os.path模块处理文件路径相关的操作。还介绍了os模块中的其他函数,如获得文件属性、重命名文件和目录、删除文件等。
企鹅号小编
2018/01/09
1.9K0
手把手教你半个小时用python语言编程出你的第一个程序
从零开始学习Python基础语法:打开编程大门的钥匙
https://cloud.tencent.com/developer/article/2465647?shareByChannel=link
忆愿
2024/11/26
3190
从零开始学习Python基础语法:打开编程大门的钥匙
怎样避免开发时的深坑
我总是听到刚入行不久的程序员这样说:知道自己要实现什么功能,同时处理逻辑和基本语法也都明白,但是就不知道该怎么写代码。如果把别人的的代码给你看,或者有人给你你一些指导,或许你能明白其中的思路。但是,在实际开发时仍然障碍重重。即使语法或逻辑都明白,也很难自己的想法转化为代码。在本文中我将会告诉大家我自己是怎么做的,还有一些解决典型问题的方法,希望能够对大家有所帮助。
疯狂的技术宅
2019/03/28
7420
怎样避免开发时的深坑
JavaScript代码风格要素
1920年,由威廉·斯特伦克(William Strunk jr .)撰写的《英语写作手册:风格的要素(The Elements of Style)》出版了,这本书列举了7条英文写作的准则,过了一个世纪,这些准则并没有过时。对于工程师来说,你可以在自己的编码风格中应用类似的建议来指导日常的编码,提高自己的编码水平。 需要注意的是,这些准则不是一成不变的法则。如果违背它们,能够让代码可读性更高,那么便没有问题,但请特别小心并时刻反思。这些准绳是经受住了时间考验的,有充分的理由说明:它们通常是正确的。如果要违
前端黑板报
2018/01/29
9280
程序员既要写好代码,又要写好文档
程序员既要写好代码,又要写好文档 作为一个长期混迹于CSDN社区的人,我对很多拥有高访问量的博主钦佩不已,特别是在参加了CSDN在举办“2014 CSDN博文大赛”及“2015 CSDN-Markdown博文大赛”活动之后。我看到活动中的一些参赛作品条理清晰、文笔流畅、语言优美,大都出自程序员之手。我不禁想到一个问题:程序员是否应该注重文档的编写? 写文档的重要性 对于软件相关行业,在学校或单位大家也许都已经注意到了,除了要编写的程序、绘制设计图之外,还有一个重要的工作便是写文档。为什么要写文档呢?因为我们
用户1289394
2018/02/27
1.7K0
程序员既要写好代码,又要写好文档
程序设计与c语言笔记(一)
2.编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂的语言-机器语言-写的程序,然后,这个机器语言写的程序就能够直接执行了
用户10216580
2022/12/06
1.2K0
程序设计与c语言笔记(一)
Python小白的蜕变之旅:从环境搭建到代码规范(1/10)
【该文详细指导如何从Python官网下载对应Windows、Linux和Mac版本,包括自定义安装并添加至系统路径。还介绍了Windows环境下安装验证及使用pip扩展知识的过程。】
正在走向自律
2025/05/02
4280
Python小白的蜕变之旅:从环境搭建到代码规范(1/10)
想成为一个好程序员?学学如何写作吧
不管你是有多年编程经验的程序员,亦或是你刚刚开始学习编程,如果你在读这篇文章,那么你已经有了另一门语言的技能:英语技能。
程序员小跃
2020/01/13
3930
想成为一个好程序员?学学如何写作吧
Python基础语法(1)上
其实在编程中,一般没有“四舍五入”这样的规则,这些小数在python中称为浮点数,浮点数的话专门有一套规则在内存中表示的,我们叫IEEE754标准,关于这个标准里面具体怎么规定的,我们暂且不给大家做过多解释,在这个标准之下所规定的浮点数,它在内存中表示一些数据的时候,可能会存在非常小的误差。
用户11290648
2024/09/25
920
Python基础语法(1)上
《C++代码美学大揭秘:注释风格差异背后的深刻洞察》
在 C++编程的广阔世界里,注释不仅仅是对代码的解释说明,更是一种艺术表达。不同的 C++注释风格反映出程序员们独特的审美差异,这些差异不仅影响着代码的可读性和可维护性,还展现了编程者的思维方式和个人风格。
程序员阿伟
2024/12/09
2200
Java开发知识之Java编程基础
  每个语言都有自己的语法规范.例如C++ 入口点是main. 我们按照特定格式编写即可. Java也不例外.
IBinary
2019/05/25
7520
推荐阅读
相关推荐
Python的代码风格
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档