📜  编码良好 – 重要标准

📅  最后修改于: 2021-10-20 12:14:45             🧑  作者: Mango

为了理解问题解决者的思维过程,我们必须关注以下问题:

1)你为什么喜欢解决问题?

这个问题的答案 值得考虑的问题是:“参赛者承诺他们喜欢数学/算法和设计数据结构。我只看到一些人说“哦,是的,我喜欢检查整数溢出”或“在数组中搜索元素太酷了”。而且,我们仍然经常在做这些完全相同的事情时陷入困境,一次又一次,直到我们的大脑试图将注意力集中在原始问题陈述上,同时我们的手指疯狂地输入代码。

所以第一个问题的一个解决方案可以是:

我们解决问题

  1. 挑战我们的思想,
  2. 通过观察绿色的蜱虫来抚慰我们的自负
  3. 当我们发现自己处于困境时,品尝肾上腺素在我们血管中流动的感觉。

相反,检查整数除法似乎是一项单调的任务,这不是我们来到这里的原因。

有办法解决这个问题,但现在让我们把重点放在寻找另一个问题的答案上

2) 您在实施解决方案时面临的最大挑战是什么?

这通常被误认为是微不足道的:编写代码当然是最困难的任务!哦,我们将如何加快速度?我们得到的通常答案是在查看监视器以调试他们的程序之前更努力地练习,“聪明地工作,为他人提供建议”。

不。编码算法可能是最重要的任务,但不起作用的代码与不存在的代码没有太大区别。您的大部分宝贵时间都将被调试占用。尤其是在算法难以实现的情况下。

3) 您可以在解决问题的同时提高技能中的哪个关键领域?

最后一个问题有点不清楚。我们可以同时享受什么?吉他课。健身房。体育、电视节目等。但作为软件工程师、数据科学家或算法设计师,我们还有另一项通常不强调的职责,即传达我们的想法的工作。很多时候,人们必须理解我们的代码思想。

有竞争力的程序员通常会被告知:“要懒惰”。不。懒惰不是强迫症。它就像任何其他技能一样,只能在需要时使用。在设计算法和命名变量时偷懒可以节省 3 分钟的编码时间,但通过惩罚/调试可能会额外花费 20 分钟。当然,我们需要更好的方法。

现在让我们看看更好的方法:

在我们的代码中使用工具、库和模式不仅可以更轻松地解决问题,还可以回答文章开头提到的所有三个问题。

1) 专注于面对编程/数学挑战,而不是其他枯燥的任务。

2) 使用库函数并遵循编码实践,可以更大程度地减少测试和调试时间。

3)目的应该是玩得开心,同时也要学到很多东西。在竞争性编程的世界之外,是软件开发。在磨练算法设计和数据结构使用技巧的同时,我们可以学习如何编写干净的代码。

干净代码的特点是:

  1. 适当的缩进
  2. 好的命名变量可以节省时间,您可以将其投入到下一个问题上。

最后,编程需要逻辑和正确思考的能力。程序员应该始终具有创造力、想象力和创新精神。如果程序员无法解决特定问题,他/她不应该激动。但同时尝试另一个问题。