无错或者正确或者是更好

简介:

这三个词:无错,正确,更好。
算是三个程度的度量词吧。
在我们的生活当中处处都有他们的影子,
特别是我们的软件开发行业可以说是和我们的工作息息相关。

我们写程序,首先必须要保证的是无错,是的,怎么说也要没有错误,比如千万别踩到assert。

  可是,无错并不代表着它所做的就是正确,在保证无错的前提下,我们还需要保证它符合需求,也就是正确,需求都符合了,我们这个时候可以去追求更高的效率,更好的算法,更完美的架构了。
  这一切,说来都是那般轻松,可是实际上,却很难。
  对于一个初学者而言,能够写出不出错的程序已经是不容易的。
  对于一个开发者而言,能够确保需求符合,这更不容易。
  想要重构达到完美,甚至一开始就达到完美,那更是如同登天一般难,因为不可能达到一开始的完美,更不可能有公司允许重构的可能,因为光是要达到需求已经是让整个团队累得苦不堪言。

我是一个完美主义者,非常苛刻想要达到完美,
而事实上,
这个世界几乎是不可能达到完美,
那样执着的追求虚无的完美,只能是追不到,
结果只能是沮丧,懊恼。

往往我们完成一个自觉完美的作品,
在数年,甚至数日之后,
你就会发现它不算完美,甚至是垃圾。
但是于当时之能力,
这确实是完美的了。

当我在这个行业里面行走了一年,
在一个个的项目之中,学习,思考。
我似乎若有所思的领悟到了些什么。
我领悟到了重构,这是我理解的重构:
任何代码都不可能一下子达到完美,甚至于一开始是混乱的,
于是,我们需要进行重构,出于使之更好维护,使之更好扩充,使之更加灵活,这些目的进行代码的改善。
实际上,
这是一个自我的提升过程,
很多时候重构的结局是现有代码完全就是不好的,需要推翻重写。
这个时候我们会质疑,会否认重构的价值。
是的,毁灭掉曾经辛苦书写的代码,很心疼。
但是,中国的历史告诉了我们:闭关锁国只会让自己固步自封,沦落底层。
中国曾经是那般先进,仅仅数百年的闭关锁国,就让自己沦落到底层文明去了。
当然,这个已经说得太远。
实际点,
如果总是受着那些曾经自鸣得意的代码不愿意有所提升,
那么只会被别的人更好的代码超越,远远甩在后边。
在实际当中,每次重构自己的代码,都会若有所得,
每次都会发现比之前代码好,每次都会发现更好的方法,
不过在重构的当时,之前的代码已经很稳定的在外面跑了很久。

重构是有很大风险的,公司是不会允许的。而且实际中是没有时间允许的,除非自己舍弃自己的休息时间,甚至连休息时间都没得可以舍弃的。
不过在项目过后,倒是可以的,至少对于自己来说是一个技术积累和提升的过程。
项目是疲惫的,疲惫只会让人越来越厌倦,越来越失去热忱,越来越慵懒。
我想,风险,时间都会迫使我越来越少的进行重构。
这也许就是生活吧。

完美,也许它应该理解为“完成之美”。
能够完成,一切都是美好的。
有限的,甚至是有些不切实际的项目时间,能够完成已经是不容易的,要想做得更好,那就是牺牲很多。
除了工作,所有的人们都有自己的生活,为生活而忙忙碌碌。
公司只会给你那么多money,有时候那点money甚至是不充足的。
要舍弃自己的时间,甚至是健康来达到自己所谓的完美,付出的代价是高昂的。
很多人都会选择完成就好。
在各种压力之下,
我似乎开始在妥协,
开始不再那么去苛求一些东西,
因为有些苛求只能带来压力和烦恼。
追求完美,
也许只能成为我生活的娱乐。
它必须不损害我的生活,不损害的我健康,不让我充满压力和不快。
也许,这就是现代人的做人法则吧。

不知为何有些迷茫,它又来了。
总感觉有些是自己不希望要的,不是自己想要的。
可是,什么又是自己想要的呢?
父母开心,
和爱人美满生活,
健康的身体,
没有生活的压力。
也许吧。
人,的确很累。
我感觉我正在被磨砺得圆滑,
这,很好么?

目录
相关文章
|
2月前
|
设计模式 算法 程序员
程序员为何需要反复修改Bug?探寻代码编写中的挑战与现实
作为开发者,我们在日常开发过程中,往往会遇到反复修改bug的情况,而且不能一次性把代码写的完美无瑕,其实开发项目是一项复杂而富有挑战性的任务,即使经验丰富的程序员也难以在一次性编写完美无瑕地完成代码,我个人觉得一次性写好代码是不可能完成的事情。虽然在设计之初已经尽力思考全面,并在实际操作中力求精确,但程序员仍然需要花费大量时间和精力来调试和修复Bug。那么本文就来分享程序员需要反复修改Bug的原因,以及在开发中所面临的复杂性与挑战。
92 1
程序员为何需要反复修改Bug?探寻代码编写中的挑战与现实
|
2月前
|
程序员 测试技术
程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。
【5月更文挑战第11天】程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。复杂的系统易产生意外问题,需求变化导致初始设计难完备,测试无法覆盖所有情况,而技术更新和个体能力差异也会引入错误。因此,持续调试和优化是保证软件质量的关键步骤。
29 0
|
2月前
|
算法 程序员
为何程序员在编写程序时难以一次性将所有代码完美无瑕地完成,而是需要经历反复修改Bug的过程?
为何程序员在编写程序时难以一次性将所有代码完美无瑕地完成,而是需要经历反复修改Bug的过程?
37 7
|
10月前
|
编解码 搜索推荐 定位技术
实用性拉满的5款软件,提高效率必备!
随着网络信息技术的发展,越来越多的人在办公时需要用到电脑了。如果你想提高办公效率,那么就少不了工具的帮忙,今天给大家分享5款办公必备的好软件。
46 0
推荐5款你可能没见过的效率软件
你有没有想过,有些软件能让你的电脑用起来更方便,更快,更好看?这篇文章就为你介绍了五款这样的软件,它们分别是BreeZip,ClipClip,燃精灵,Sticky Notes和Tabby。下面我们来看看它们都能做什么吧。
72 1
|
设计模式 测试技术
重构·改善既有代码的设计.02之代码的“坏味道”
之前在《重构·改善既有代码的设计.01》中初步了解了重构的基本前提,基础原则等入门知识。今天我们继续第二更......
178 1
重构·改善既有代码的设计.02之代码的“坏味道”
|
Java C语言
看似无害的代码如何搞垮系统
编程就像魔法。最近遇到一个诡异的问题:添加一段看似无害的简单代码后,系统原有功能不可用了。 ## 复现演示 jdk 8 可使用如下演示代码复现这个问题。 `TaskCenter` 是一个任务框架,可添加多个任务,随后框架将执行这些任务。 `First` 任务是新增代码,看起来简单无害,且看不出对原有任务 `Count` 有何影响,但添加 `First` 任务后,其自身执行正常,原本正常的 `C
105 0
|
NoSQL 测试技术 程序员
关于代码的那些低级错误,都是血泪的教训
无论你是初级工程师,中级工程师,高级工程师,甚至是全栈工程师、架构师,都是从零开使一步一步走出来的,想必都会犯过一些低级错误。 那些错误都是怎么发生的,如何避免发生错误呢,看看我们各位资深的程序员以自身为例,告诫我们敬畏每一段代码
5412 0