一个好的程序员就是一个懒惰的程序员

新闻
尽管您可能不想在面试中带头去做,但懒惰是使优秀程序员与其他人区分开的一种基本哲学。 优秀的程序员对基本任务的感觉是相同的,例如遍历记录集并根据结果执行简单的逻辑,就像小学生攻击数学作业一样,有着同样的热情,但要减去成熟的怪胎,但可能要减去 抱怨要完成的工作。

尽管您可能不想在面试中带头去做,但懒惰是使优秀程序员与其他人区分开的一种基本哲学。 优秀的程序员对基本任务的感觉是相同的,例如遍历记录集并根据结果执行简单的逻辑,就像小学生攻击数学作业一样,有着同样的热情,但要减去成熟的怪胎,但可能要减去抱怨要完成的工作。

[[315834]]

面对现实吧,编码有时只是数据输入的一种高级形式。 这是要通过而不是让我们的牙齿陷入的东西。

通常,这是一个机会。

通过懒惰成为一名优秀的程序员的艺术是总是在寻找模式和打包方式。 目的是尽快解决项目令人费解的沉闷部分,以便我们将更多的时间和精力集中在实际的问题解决上。

公平地说,大多数程序员在某种程度上都知道这一点。 毕竟,对象和函数是开发的基本构建块,而应用程序只是打包的构建块,不断地传递以产生结果。 但是优秀的程序员将这些想法带到了一个极致。

在这一点上,我将停止并陈述希望显而易见的事情:反之则不成立。 懒惰的程序员很少好。 你知道我在说的人。 也许他们喜欢在运行查询时执行该查询并在屏幕上盯着屏幕三分钟,而不是打开一个新选项卡并处理另一段代码。 也许他们认为不需要适当的错误处理,因为"代码应该可以正常工作"。 或者,也许他们很好,可以走很长一段路,因为他们在那里可以按照告诉他们的方式做,并且即使计划存在明显的低效率,也不会偏离计划。

优秀的程序员是懒惰的,因为他们喜欢在项目中比较困难的部分上工作,而不是键入基本上是自己编写的代码。

这不是完成最少工作的竞赛。 这不是要在5点钟出来,而要在第二天早上8点之前完全忘记工作。 优秀的程序员是懒惰的,因为他们喜欢在项目中比较困难的部分上工作,而不是键入基本上是自己编写的代码。 实际上,比较优秀的(通常是最懒惰的)程序员在半夜醒来,喊着"啊哈!" 这是因为他们在入睡时解决了一个特别棘手的难题。 或者,他们看着餐桌旁的另一半,因为自从食物摆在桌子上以来就一直在脑海中编码,突然意识到他们根本不知道在准假中进行的谈话到底是什么。

我当然从来都不是喜欢只键入代码的人。 无论大小,我都喜欢打包。 大大小小的? 哎呀,即使很小。 在为诸如D&D和Pathfinder之类的桌面游戏开发随机地牢生成器时,我经常需要检查地图上某个点周围的特定半径。 它可能是一个陷阱,可能从一个方格的地方冒出来,或者是一个事件可能从两个方格的地方发生,或者是一个可能从四个方格的地方发现聚会的遭遇,无论距离多远,SQL几乎都是相同的。 因此,我没有在where子句的同一部分中键入内容,而是编写了一个函数,该函数将接受x / y坐标和半径以吐回SQL。

简单。 但是,它使我免于数十次手动键入操作,而且甚至更重要的是,它确保where子句不会出现错字。 这意味着半个小时都没有仔细检查代码,只是发现我键入的是3而不是4。

当在宝藏表中查找物品以填满箱子或在遭遇表中的怪物来制造伏击时,我遇到了类似的模式。 字段名称已更改,但基本算法相同。 将有一条记录,记录中包含权重或频率(应从数据集中随机提取的频率),条件(例如生物或宝藏的高度,遭遇或物品的类型等)和主键 识别它。 具体细节可能会发生变化,但是您如何从此类数据集中随机选择记录保持不变,因此诞生了一个繁重的功能。

有时做某事的最懒惰的方式是让代码编写代码。 我从来都不是开发平台附带的模板的较大支持者,但是我非常喜欢自己编写代码。

当我开始第一个"实际"编程工作时,我们使用Visual Basic访问Microsoft SQL Server。 (是的,我是恐龙。我什至还记得在大学时在绿屏终端上键入内容以在VAX / VMS大型机上进行开发。)创建数据输入表单的通常方法是包括一个链接到字段上的记录集对象 表单,但是Microsoft附带的记录集对象并非没有自身的错误和性能问题,因此我们将"手动"完成这一部分。 在这种情况下,这意味着写出我们自己的代码来插入,更新和删除记录。

这导致大量代码在表单上的字段中查找值,以手动构建INSERT或UPDATE语句。 乏味。

尽管Microsoft的记录集对象并不总是可靠的,但它至少使执行这些基本功能所需的代码量最少。 因此,为了在避免记录集对象本身的同时模仿此好处,我开发了一个类,该类将表单上的字段与数据库中的字段进行比较,以便自动生成执行这些基本任务所需的SQL语句。 显然,这比我在这里要讲的要复杂一点,但是结果复制了记录集对象的好处(更轻松,更小的代码块),同时减去了主要的干扰因素(可能是错误或效率低下的代码,您无法控制) )。

当我转向使用MySQL与PHP一起工作时,遇到了相同类型的问题。 大表=许多代码=无聊。 此处比较大的区别是,技术人员较少,他们会在同一文件中处理HTML事务,因此我想确保一些简单性。 有时候,那些大块的代码实际上对技术水平较低的人来说比对完成相同事情的更复杂的系统更容易处理。 解决方案:生成可运行以自动生成在数据库中插入,更新和删除记录所需的基本PHP代码的代码。 基本上,构建自己的模板。

这些示例并没有使用户眼花撩乱,而是表明无论代码的大小如何,程序员都应该寻找模式。 即使创建SQL SQL where子句以在一定距离内引入记录之类的简单操作,也可以对完成项目所需的时间产生积极影响。 我甚至拥有给定where子句的函数,可以给我一个表的最小值或最大值。 从长远来看,将错字排除在外的事实可以使这些功能值得。

我们大多数人在程序员的陪伴下工作了几年,很高兴能日以继夜地逐行输入无意识的代码,因此没有紧迫感寻找最有效的途径。 我并不是说这些都是不好的程序员,但是,如果您花费最多的时间来完成项目的每个部分,那么当出现令人惊讶的难题时,您更有可能落伍。 而且几乎总是有一个惊喜。

在这里寻找编码中的模式会带来最大的收益。 无需键入代码即可节省时间,无需花太多时间就可以实现每个人都想花很短时间才能实现的功能,但实际情况要长得多。

懒惰的程序员的基本心态? 始终寻找一种模式。

 

责任编辑:华轩 来源: 今日头条
相关推荐

2013-12-24 09:59:48

程序员管理

2014-01-06 09:33:32

程序员管理

2020-10-05 21:13:37

程序员技能开发者

2020-07-10 09:55:15

程序员技能开发者

2015-06-16 10:31:36

程序员

2015-06-08 10:48:39

程序员程序员自白

2011-02-14 13:05:17

PythonWeb

2019-03-13 10:04:34

程序员租房架构

2021-07-01 07:43:41

项目程序员代码

2012-04-12 14:49:31

程序员

2019-04-22 10:25:52

程序员技术职场

2009-02-12 15:07:57

程序员创业经验

2019-11-07 15:30:00

EmacsIDE

2010-10-18 11:39:41

程序员

2020-01-06 09:53:29

程序员

2015-08-24 10:07:13

程序员bug

2015-05-13 14:06:03

程序员糟糕的程序员

2012-11-28 13:25:27

程序员

2023-12-26 18:47:32

2011-10-31 09:14:35

程序员
点赞
收藏

51CTO技术栈公众号