注:本文翻译自《Development For Winners》一书的介绍部分,全书内容链接:https://grofit.gitbooks.io/development-for-winners/content/
简单介绍一下本书将要包含的内容
在我们开始之前,我想先论述一下这本书中的部分内容,为什么我们要讨论这些内容,以及为什么这不是一本专门针对于编程的技术书籍,而是一本全面的包含有关于开发的各个方面的书。
如果你已经知道书中的部分内容或者不喜欢我的写作方式,为此我表示歉意。我可能做一些空泛之谈,在我所谴责的一些事情上,并不是所有的开发者都失败了。但是在我的一些偶尔的无理和迟顿之中,是有一些智慧能被乐意接纳的读者所接受的。
通常情况下,开发者都能够利用工具和自己的知识做到不错,但是,没有人在遇到问题时会给出不同的解决方案。难道就打算这样的提升自己?因此,这里尝试着触及一些重要的处理和技术课题的核心,如果你还不了解它们的话,那么你应该希望自己能够迅速的了解这些内容。
这本书的重点可以分为3个部分:
计划&需求
技术设计&测试
自动化&发布
现在,在你希望它是一个聚焦于技术的书籍并叹息之前,毫无意义。去Google或者Youtube上,你将能找到大量的只关注于技术的教程。尽管他们很少涉及到开发中预先思考的内容,但是仍然有很多的开发者只是看这些教程,然后像代码猴子(译者:此处原文是Code Monkeys)一样写一些代码。然而,除了写代码,我们将会做更多的事,仔细的思考你正在做的事情并为它制定计划是非常明智的,因此,你可以跟其他人一块工作,分享或者查看进度,而不是让自己陷入一个无法维护的代码沼泽之中。
记住,除了编程你现在正在学一些其他的东西。但是,这并不意味着编程就不重要。
技术
本书将尝试根据使用案例的不同来对技术进行划分:
通用的(这是可以用于所有开发项目中的好东西,比如通用的C#代码)
Web(这些内容更多的应用于web世界中,比如ASP MVC,NodeJs,C#,JavaScript(译者:这些是常用于web开发中的技术或者语言))
游戏开发(猜对了,这是与游戏开发相关的内容,比如 Unity)
大部分我们将要学习的都是一些可以用于不同工作中的技能,例如在Unity环境中学习了依赖注入(译者:原文中为Dependency Injection)技术,那么对于你来说,即使是在Unity之外,你也应该有能力使用这项技术。设计模式以及实践最厉害的地方在于它们通常可以被用于任何的地方,因此一旦你真正理解了这个范例,而不仅仅是背后一些的语法。你将能够把所学到的东西应用于其他的开发情境中,如Web,应用,或者移动开发。
Web或者应用开发中有大量的令人惊讶的技能可以应用于游戏开发,例如视图分离,依赖管理,单元测试和许多其他的模式和实践。我知道有很多的游戏开发者瞧不起Web开发者,认为他们是低等级的开发人员,但是,其实双方都有很多需要向彼此学习的地方。
读者该有的技能水平
这并不是一本教新手编程的书,它期望读者至少有一些C#的工作经验,而且最好用过Unity(译者:一个游戏开发引擎),你可能是这两方面的专家但是之前从来没有接触过设计模式,或者你可能刚开始接触,但是只是知道一些基础的模式,亦或者你坚持实用主义的原则,想找一些新的方法(尽管你并不是完全认同),那么本书值得一读。
即使你仍然是一个开发新手也无需惊慌,只需要确保至少了解类,方法,泛型和继承(译者:这些都是程序设计中常用的术语)这些内容即可。如果上面提到的这些术语你都不知道的话,那么建议你先去攻读这些内容,一旦你掌握了这些内容就可以回来继续阅读此书了。