博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码整洁之道(二)
阅读量:6233 次
发布时间:2019-06-21

本文共 616 字,大约阅读时间需要 2 分钟。

结构化编程 ,

有些程序员遵循Edsger Dijkstra 的结构化编程规则。Dijkstra 认为,每个函数、函数中的每个代码块都应该有一个入口、一个出口。遵循这些规则,意味着在每个函数中只该有- -个return语句,循环中不能有break或continue语句,而且永永远远不能有任何goto语句。

我们赞成结构化编程的目标和规范,但对于小函数,这些规则助益不大。只有在大函数中,这些规则才会有明显的好处。

所以,只要函数保持短小,偶尔出现的retum、break 或continue语句没有坏处,甚至还比单入单出原则更具有表达力。另外-方面,goto 只在大函数中才有道理,所以应该尽量避免使用。

如何写出这样的函数

写代码和写别的东西很像。在写论文或文章时,你先想什么就写什么,然后再打磨它。初稿也许粗陋无序,你就斟酌推敲,直至达到你心目中的样子。

我写函数时,- -开始都冗长而复杂。有太多缩进和嵌套循环。有过长的参数列表。名称是随意取的,也会有重复的代码。不过我会配上-套单元测试,覆盖每行丑陋的代码。

然后我打磨这些代码,分解函数、修改名称、消除重复。我缩短和重新安置方法。有时我还拆散类。同时保持测试通过。

最后,遵循本章列出的规则,我组装好这些函数。

我并不从一开始就按照规则写函数。我想没人做得到。

 

转载于:https://www.cnblogs.com/muailiulan/p/11071307.html

你可能感兴趣的文章
微信官方接口文件
查看>>
Redis客户端细解、持久化
查看>>
玩转ActiveMQ与Zookeeper集群
查看>>
SAP CRM中间件下载equipment时遇到的一个错误
查看>>
Tomcat+Servlet面试题都在这里
查看>>
20180227,工作总结
查看>>
区块链100讲:详解区块链之P2P网络
查看>>
以太坊区块链技术开发岗位面试题集锦,附答案
查看>>
虚拟币交易所系统开发
查看>>
CenOS 7.4系统命令的使用
查看>>
2018年6月13日任务
查看>>
Windows10安装MySQL 8.0.11
查看>>
32个Python爬虫实战项目,满足你的项目慌
查看>>
一个概率问题
查看>>
76.memcached命令行 数据导出及导入 sessions会话(php)
查看>>
用户配置文件和密码配置文件、用户组管理、用户管理
查看>>
【CentOS 7笔记42】,监控网络状态2#
查看>>
想要成为年薪30W的运维工程师,需要做哪些努力?
查看>>
特殊权限set_uid/ set_gid /stick_bit,软链接、硬链接
查看>>
Vue中结合clipboard实现复制功能
查看>>