别与作用,面试时常考。
//我可以回答,但我希望你能自己找出答案
2.面向对象基础:真的很重要(必要)
你必须确保你有良好的面向对象思想,或者深入点面向接口思想。它的重要性是个学程序的都知道,不多说了!
3.C/C++基础:以后底层开发可能需要用到。(可选)
C/C++这个一直是广泛讨论的话题,喜欢它的人很喜欢,不喜欢的也很不喜欢。但我建议你最好在有空的时候学一下,对于大型项目(对性能要求比较高),PC游戏来说,
它是至关重要的。
4.有设计模式基础:用于设计软件的架构,可复用面向对象软件的基础。(可选)
设计模式你需要了解,但不必非要套进去,好的设计模式是你在长期写项目过程中体会出来的,不是说你用了设计模式就一定是好的架构,要用的好,用的灵活
举个例子:
用的很多的状态模式。在游戏中经常会用到此模式,但我们写1个只有2种状态的小例子,你难道也用状态机吗?其实2种状态完全可以if (){}else(){}解决它。
虽然说好的设计模式的确让软件架构更清晰易维护,但也不能滥用。推荐大家看一本书<<大话设计模式>>
5.英语。自学(可选)
为什么要学英语?答案很简单,计算机新型的技术都是国外发展到国内的,特别是美国。这些新技术的第一手资料都是面向全世界的语言《英语》。
好吧,就算你不想学习最新的技能,但源码和API你总要看一下吧,他会发现都是《英语》。再退一万步说,你写代码的命名总要用英语吧。
如果你觉得一个“最大值”的变量名用 zuiDaZhi而不用max更好的话,就当我没说!
6.良好的代码风格(必要)
不要小看它,它很重要,决定你代码的可读性,以及顺畅的团队合作