什么样例可以教给我们有关开发人员的经验

上周末,我大部分的醒来时间都花在了Zachtronics的新游戏“ Exapunks”上。 在这个游戏中,您使用汇编语言编写代码来解决一系列复杂性增加的难题。 随着时间的流逝,我意识到自己编写代码的乐趣已经超过了很长一段时间,因此我开始问自己为什么。

为什么为Exapunks编写代码会带来如此愉悦的体验,特别是当与我为“真实”项目编写的高级语言相比,游戏所用的编程语言对用户完全敌视时?

  • 只有一个环境。 开发,分期或生产之间没有区别。 您只需迭代代码,直到实现目标。
  • 内置可观察性。我一眼就能看到正在执行的代码行,当前的内存值,性能指标,在我的基础架构中正在执行的代码的可视化,我的要求以及我的代码满足这些要求时的立即反馈。 我不必考虑适当地配置我的代码。 我只是免费获得这些东西。
  • 除了解决问题所需的代码外,我不必产生任何其他工件。 没有要写入的配置文件,没有要构建的容器或包,也没有要创建的构建管道。
  • 我拥有解决眼前问题所需的全部能力。 没有要考虑或管理的依赖项。

总而言之,在Exapunks中编写代码时,我所要考虑的就是解决游戏要求我解决的问题。 与工作相比,这是令人耳目一新的,在工作中,解决软件的任何问题都可能涉及在技术和社会等多种情况下解决许多其他问题。

玩Exapunks可以很好地提醒您,减少摩擦和增加复杂性可以提高开发人员的满意度。 这似乎很明显,但是作为一个软件工程社区,我们经常接受太多的复杂性,因为它是“事物的工作方式”。 想到在编写代码时将全部精力集中在一个问题上给了我很多思考的感觉。