解决难题的实用指南

作为程序员,工作中我经常会遇到一些复杂的需求不知道怎么编写代码。下面是我被难住时采取的步骤。这些建议可以使问题解决变得容易。

1、在编写任何代码之前,花时间仔细考虑一下这个问题。

2、编写一个函数或编写一个具有您需要的输入和输出的类。

3、将功能分解为具有明确目标的多个步骤。现在你可能不知道如何实现这些目标,不要担心,这是以后的问题。现在你只是写出你的想法。

4、为每个步骤创建一个函数,并在每个函数中抛出新的 NotImplementedException() 异常。函数的名字可以很长但要易于解释,可以明确地表示这个函数的作用。如果你不知道怎么写也没关系。

5、现在,去实现其中的一些函数。你知道他们并不都是很难的,有些甚至可能很简单有趣!树立你的信心把容易的函数先实现。取得进展的感觉很好,当你专注于编写代码时,你的想法会在在大脑中后台运行。

6、是时候解决一些更难的函数了。就像你之前做的那样,把问题继续分解成几个步骤。再将这些步骤中的每一个都变成具有明确名称的函数。把简单的实现。然后再把难的分解成步骤。一遍又一遍地这样做。你会惊讶于你实际上能完成多少工作。

7、很快你会发现 80% 问题已经解决了,只剩下几个讨厌的函数会抛出 NotImplemented。现在去搜索你最喜欢的扩展库、代码仓库、问答网站等。您可能不是第一个需要此功能或组件的人。站到巨人的肩膀上,然后你会感慨 “我靠,世界上有这么多聪明的程序员!”。

8、好的,你已经从网上搜索过了,但你仍然有一些讨厌的 NotImplemented 异常。是时候检索一下科学论文了。将问题输入到 arXiv 查询一下,这上面有很多计算机领域的论文。可能其他人已经解决了与您要解决的问题相关的问题。他们很可能会提供见解或不同的思路,可以帮助您将问题重新组织为可解决的问题。如此,重新构思你的问题并淘汰那些 NotImplemented 异常。

9、现在你有麻烦了。如果您仍然有一些 NotImplemented 异常,并且没有可以参考的前人的方案,也没有学者痴迷于这个特定领域,那就只能靠你自己了。大胆思考,创造性思考。你的事业就靠它了。

我认为这些是所有程序员都会采取的步骤,但有时最好把它列出来。

我特别看重功能分解。函数是一种强大的抽象概念,不仅用于编写更少的代码,还用于思考问题。

请不要将我对“函数”一词的使用误解为仅表示函数式程序员喜欢的那些东西。我的意思是任何数据转换形式:从低级 lambdas 到有状态的 IO 处理对象。

谢谢阅读!现在去解决那些难题吧!

————————————————
本文由木偶笔记发表于 2022-03-29
转载请务必保留本文链接:https://www.muouseo.com/article/wjkv8gqe62.html

你可能感兴趣的:(解决难题的实用指南)