编写傻瓜式的代码

移动开发
在过去的几个月里,我研发了一种编写代码的方法。每当我写一个新函数、类或方法时,我就问自己:「这段代码足够傻瓜式吗?」如果不够傻瓜式,就说明没完事,我尽量使其傻瓜式一些。

[[154940]]

在过去的几个月里,我研发了一种编写代码的方法。每当我写一个新函数、类或方法时,我就问自己:「这段代码足够傻瓜式吗?」如果不够傻瓜式,就说明没完事,我尽量使其傻瓜式一些。

但是,傻瓜式的代码不代表「无法运行的代码」。傻瓜式的代码应该完全按照预期的方式运行,不过,是以尽可能简单、直接、「傻瓜式的」方式。

任何人能编写它,阅读它的任何人都应该能够理解它。它不应该使阅读代码的人思考代码本身,而是思考手头的问题。不应该花太长时间,不应该太复杂,最重要的是,不应该尝试更聪明的方式。它应该能够搞定工作,仅此而已。

傻瓜式的代码是什么样子呢?这取决于它正试图解决的问题。拿元编程注1做例子,哪种语言经常被视作复杂和「具有妖术」。问自己「这段代码足够傻瓜式吗」就意味着「不允许元编程吗」吗?不一定,真的。在一些特定情况下,通过元编程就可以用最简单的方式解决某个问题。但是,也有很多情况是不需要元编程的,解决方案之上的额外包袱,有碍于理解代码本来的样子。

目标是甩掉包袱,削弱它,直到诞生出最傻瓜式、但可运行、测试通过的代码。

记住这里说的「傻瓜式」:「it works」还不够好。过于复杂、「看看这个更聪明的技巧」、过度抽象、难以阅读的代码,也能运行且通过了测试。这不是我想要的。它必须是傻瓜式的:不聪明、不复杂、不难于理解。

除了称为「傻瓜式」,最终的代码也被称为「优雅」、「干净」和「简洁」。但是「编写傻瓜式的代码」不像「编写优雅的代码」那样不可捉摸,前者貌似更容易达到,使得这种方式对我更有价值。除此之外,我发现从「编写傻瓜式的代码」入手较为容易,最终得到优于其它方式的、优雅的解决方案。

不是每一个优雅的解决方案都是直接的,但是,每个定义的「傻瓜式」的解决方案都是、且都应该是优雅的。

注释

元编程是指某类计算机程序的编写,这类计算机程序编写或者操纵其它程序(或者自身)作为它们的数据,或者在运行时完成部分本应在编译时完成的工作。多数情况下,与手工编写全部代码相比,程序员可以获得更高的工作效率, 或者给与程序更大的灵活度去处理新的情形而无需重新编译

责任编辑:倪明 来源: 腊八粥
相关推荐

2016-10-07 19:55:12

ossimNagios

2017-09-04 09:21:11

机器学习傻瓜指南

2009-10-19 14:07:56

博科资讯傻瓜式管理管理软件

2015-04-23 16:34:29

软件开发过程傻瓜式软件

2023-01-09 08:43:34

2013-03-22 13:37:55

安米网傻瓜式App制作

2009-07-24 10:41:00

asp.net mvc

2011-03-23 13:46:37

2013-03-22 13:54:09

追信魔盒傻瓜式App制作

2013-03-22 13:42:39

简网App工厂傻瓜式

2012-12-30 21:22:08

移动办公Windows Ser

2021-11-26 21:31:26

Windows 11Windows微软

2021-09-06 09:45:54

Windows操作系统功能

2011-09-21 09:18:12

2021-10-30 06:54:36

Windows 11操作系统微软

2021-03-25 14:17:19

iOS 11越获iPhone

2013-03-25 17:35:23

jimu傻瓜式App制作

2020-10-26 13:16:06

腾讯抖音App

2021-12-05 23:07:32

二手电脑电商笔记本

2021-05-13 05:23:39

手机应用PictureClea
点赞
收藏

51CTO技术栈公众号