编码难题

编码难题

Photo by 摇滚猴子 on 不飞溅

编程可能有点像 杰基尔与隐藏 当你想到它的活动。我并不是说它会让你发疯,这很可能。但是您正在编写需要由计算机解释的代码,但首先必须由您自己理解。也许这就像给一些外来物种发送蛋糕食谱,而你是吃蛋糕的人。你只能希望翻译过程中不会丢失重要的成分。

除了有趣的引语之外,当您意识到您实际上主要是为自己编程时,您可以获得一些不错的小见解。

你就是你的代码

编程本质上归结为将复杂的过程分解为人类可理解的块,以便计算机可以重新组合并再次执行这些块。

一台计算机通常并不关心你如何做到这一点,只要你明确地告诉它要做什么。这反过来意味着您构建代码的方式实际上是您自己对需求的心理形象。因此,如果某些事情没有按您预期的方式工作,那么退后一步看看这个心理形象是否正确通常是值得的。很容易做出错误的假设,有时需要更多的上下文来理解主要目标。如果没有这种洞察力,您的代码可能会变成一件其他程序员都不想触及的半神秘的艺术品。

你在许多巨人的肩膀上编码

每个软件模式,最佳实践或启发式,在某个时候都是由程序员想出的,试图用人类可以理解的代码来捕捉复杂的场景。这意味着这些模式不是魔法,也不是更高层次的科学理论。它们只是普通程序员感觉的反复出现的片段,因此即使您一开始并没有意识到它们,它们也经常直观地出现。当您试图将头绕在一些更复杂的模式上时,让这成为一种解脱。

附带说明一下,有趣的是,通过采用这些软件模式,您实际上是在传播一种新的思维方式,这种思维方式源于您从未见过的人。你认识的任何其他使用这些相同模式的程序员也是如此。进化论怎么样。

为自己编写测试

编写测试可能是一件苦差事,我们都经历过。特别是当时间供不应求或超出概念验证情况时。但是在非常基本的层面上,您编写测试来证明您对需求的心理印象实际上是正确的,并且如果情况发生变化,它将保持正确。计算机并不关心需求,因为它只会执行您的代码并竖起大拇指,或者在尝试时会失败。因此,如果没有测试,任何满足要求的证据都将停留在您的脑海中,充其量只是暂时的。

意识到测试代码的实现细节可能特别狡猾,这也很好。那么您可能不会根据要求测试代码的结果,但如果您的内部代码成功运行。这就是计算机已经可以通过简单地运行您的软件免费为您做的事情。

就是这样,这些耗时的鼓舞人心的漫谈就够了。快乐编码。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明

本文链接:https://www.qanswer.top/1454/00102916

posted @ 2022-08-29 16:01  哈哈哈来了啊啊啊  阅读(14)  评论(0编辑  收藏  举报