成长心态和我的学习时间TDD

首先,我要说明我对谁认为测试驱动开发(TDD)是一个好主意的想法有多少诅咒。 谁想到过让TDD成为我们其他人编程规范中的标准? 这是我对这种编程方法的感觉,当时我被迫在一个我打算加入的研究金项目中实施它。

我一直在编码(通常不是为了编程而编程是一门艺术,而我所做的充其量只是儿童游戏)一段时间,通常用于数据分析。 我曾经在R和后来的python中为统计模型编写过程代码。 在本练习中,我的上司没有一个期望过通常会在计算机科学中应用的任何适当的编程约定,部分是因为他们不了解它们,而部分是因为它们不在乎。 没有OOP(面向对象编程),没有版本控制,没有持续集成,没有部署或TDD。 所期望的只是一天结束时的功能。 只要模型产生的MAE或RMSE最小即可。 只要AIC得分和似然函数在统计上具有吸引力,那么这并不重要。

但是,就我个人而言,我对代码质量并不满意。 我觉得那不是我能做的最好的事情。 随着时间的流逝,我掌握了OOP,并开始将其应用到脚本中。 其影响是惊人的。 突然,我的代码可在项目中重复使用,并且更易于调试。 我可以轻松维护它,也可以吹嘘自己的代码。 我开始关注代码的效率。 确保我可以以最有效的方式分析大型数据集。 在我看来,我正在编写高质量的代码,并提供所需的功能。

现在这是一个新的奖学金机会。 一个机会清楚地表明,如果我要加入它,我必须在其他学科中精通TDD。 关于TDD的事情是测试推动了开发。 必须先编写测试,然后再编写代码来满足测试。 谁在他们的正确思想中认为这是合乎逻辑的方法。 那将为不存在的代码编写测试。 我将针对不同的场景编写测试用例,完全希望它们在完成代码之前会失败。 我讨厌这个。 我诅咒将这种繁琐的方法概念化的想法。

尽管如此,我还是系好安全带,穿上我的大男孩裤子穿上它。 我通过设置pytest和相关的测试用例来完成我正在使用的某些功能。 我认为,有史以来最大的笑容就是第一次在控制台上看到代码测试覆盖率达到95%时。 征服了这个看似艰巨的任务后,那感觉很高兴。 另外,我刚刚发现了一个程序设计的秘密,这个秘密长期以来一直被隐藏。 可以将调试时间减少一半。 在这里,我正在测试项目中的每段代码,并通过识别测试失败来轻松识别错误。 我自然地选择了一种模式,其中我的测试与我的代码一起增长,并且我很喜欢它。

现在,如果您问我,我不知道为什么我如此反对这种新方法。 就编写测试所花费的时间而言,它具有多项优势,而成本却可以忽略不计。 我最初不愿意学习它,因为它很麻烦,但被我渴望将其应用到我实施的每个项目中的渴望所代替。 与固定的思维方式相比,这就是成长思维方式的好处。

就是说,生活中出现的一个常见问题是关于智能及其本质。它是静态的还是动态的。 努力可以代替原始人才吗? 许多人可以为这两种情况辩护,并可以提出一整套论点“有”和“反”的论点。 在讨论中可能提到的一些多产的名字可能是梅西与罗纳尔多和埃隆·马斯克与正常人。 以梅西对罗纳尔多为例,有些人可能认为罗纳尔多的明显努力以及上述努力所取得的成功是努力的充分理由,而另一些人则可能认为,梅西的原始天赋使他成为了最伟大的足球运动员。

在埃隆·马斯克(Elon Musk)与我们其他人的案例中,可能会出现一个问题,即如果没有马斯克展示的智慧,人们是否能够在技术领域取得相同的成功水平。 伊隆(Elon)的母亲回想起他蹒跚学步的时候,因为黑暗只是缺少光,并害怕黑暗不合逻辑,并指出黑暗就是没有光子。 在那个年龄,有多少人可以自信地得出相同的结论? 更好的是,仍有多少人不知道什么是光子?

在回答这些问题时,我将对马尔科姆·格拉德威尔(Malcolm Gladwell)的“ 成功理论” ,特别是他的10,000小时规则进行一次回顾。 该规则建议并尝试通过考虑比尔·盖茨和史蒂夫·乔布斯这样的人来证明,要想在任何事情上都出类拔萃,那么他们将至少要花费10,000个小时来完善自己的技能才能取得成功。 本质上,这意味着如果人们付出了足够的努力,如果人们积极寻求发展自己选择的技能,那么即使没有保证,他们也更有可能获得成功。

回到足球运动员和天才的例子,事实是莱昂内尔·梅西是一个熟练而有才华的足球,他没有坐下来期待成功,他仍然花时间训练和练习以完善自己的技能并保持竞争优势为这一代最好的足球运动员。 同样,罗纳尔多(从某种意义上说,他仍然是有才华的)不仅仅满足于自己的技能或缺乏比较才华,而且还不断努力工作以变得更好,成为有史以来最伟大的足球运动员的竞争者。 对于马斯克来说,如果他没有表现出作为婴儿的智慧,或者如果渴望随着时间的推移学习和积累知识而不能与之相辅相成,那将是另一个曾经是一个真正聪明的婴儿的家伙的情况。

强调上述情况的目的是显示出具有成长心态的重要性。 意识到当前的情况和条件只是变得更好的基石。 意识到我们的智慧不仅限于我们现在所知道的,还包括我们认为我们可能学到的东西。 这意味着,尽管我们仍然是人类,并且对我们可以学习或实现的事物有所限制,但我们仍可以努力实现不可能的事物,并在此同时变得更好。

考虑上图。 一个人通常在任何给定时间处于三个区域之一。 最内心是满足感的区域,这里是自我完善的动力之一,而停滞状态。 试图成长没有任何意义。 该区域中的个人具有固定的思维定势,并认为当前超出他们的技能范围的是白日梦,这是对已经拥有所需技能的其他人的保留。

其他人在ZPD(逐步发展区)中。 在这里,个人积极寻求成长并寻求新技能。 他们以外的任何能力或知识都被视为实现目标的挑战。 在这里,个人具有成长心态,并积极寻求发展自己的才能。 随着时间的流逝,不可能区域的面积会随着时间不断耗尽。 在这种情况下,个人受益于变革和积极变革的优势。

最外面的区域是不可能区域。 从现实主义者的角度来看,人类有局限性,不可能绝对地做任何事情。 他们可以做的是为不可能的事情而奋斗,并有效地吃掉他们以前无法实现的目标。 这伴随着个人成就感和成就感。 它使个人有能力确定他们可以做什么和不能做什么,从而控制了自己的命运。

所有这一切只是看一下拥有成长心态所需要的。 要意识到您的思维能力会根据自己的思维习惯而增长或退化。 这是通过做不可能的事情来实现不可能的事情!!!