译者:飞龙
自豪地采用谷歌翻译
你需要学习的第一件事就是一切事情。我知道这是吓人的,但我在介绍中提到,你在整本书中只会练习三个技巧。当你完成其他任务时,每项练习都会强化每项技能。我可能会告诉你“制作cat
命令的副本”,但你真正学习的是如何具有创造力。我可能会告诉你“创建一个链表数据结构”,但是你正在做的是将结构化代码审查流程应用到你的编程实践中。这本书的秘诀在于,你只是将项目和练习用作一种工具,来学习三个重要的实践:流程,创造力和质量。
理想情况下,这三个概念并不奇怪。流程只是你用于创建某些内容的步骤。创造力只是你产生和实现想法的方式。质量只是你确保这些实现不是垃圾的方式。如何将流程应用到你的个人开发技能中?如何分析是否已经构建了高质量的软件?如何把一个想法变成现实?所有这三个都是相互关联的,因为你需要一个流程来帮助你获得创造性,然后确保质量,这也需要创造力,因为任何流程都不会始终有效。这是一个出色的、美丽的循环。
完成这本书的过程就是这样:
在阅读本书时,你的目标不仅仅是实现几个 Unix 工具的副本。你的目标是使用这些小型 Unix 工具项目,来专注于你处理大型项目的能力。
完全没事。这本书是帮助你成长和改进的东西,所以如果你还没有准备好分析你的工作方式,那么请稍等一下。你可以简单地用自己的方式和自己的时间完成所有的挑战,然后回来并使用你的流程中的约束尝试实现项目。每个练习都代表它自己,个人发展部分几乎适用于你所做的任何事情。做你能做的事情,当你需要处理你的工作方式的时候再回来。
这是一个非常实际的可能性,但是我的方法可以帮助你了解为什么你是糟糕的,为了解决这个问题需要做些什么。然后这只是一个需要处理的事情,直到你开始变得更好。将你的日记看管好,没有人会知道你是多么糟糕。然后,当你完成时,你就知道,你到底在什么位置,以及你需要做些什么。不要再怀疑你是一个骗子,或者你不能胜任这个任务。你会客观地认识你的优点和缺点,所以你可以不必担心你在这个世界上的位置。
但是,你可能不像你想象的那样糟糕。这本书的目标是成为一个个人课程,来改善你对你的技能的客观评价。这意味着你应该关注的,不是你在某种程度上有多好,而是要改善多少。如果你发现自己对某个特定练习的表现感到沮丧,那么你需要将其拆解,找出可以改进的东西。你还需要站在其他人的角度上看待这个练习,并客观评估你的改进。专注于改进可以帮助你客观地(不是积极或消极地)思考,并继续学习。