是否总是觉得工作特别的枯燥、乏味、无聊,面对成堆的代码后头脑开发犯困,表情开始僵硬,这对你来说简直就是一种折磨,它甚至和你原先所想象的不一样,程序员本来应该是精力充沛,激情四溢的,幻想着能够去创造去驾驭所有的东西。归根结底是因为我们对工作失去了兴趣,因为我们越来越发现,情况已经超出我们的控制范围了。我们不知道为什么程序昨天还运行得好好的,一觉醒来后就不能正常工作了,我们不知道为什么项目到了后期总是能给我们留下一份刻骨铭心的回忆,为什么在集成测试的时候我们总是担心受怕,总觉得会发生什么问题似的,而事实上问题确实经常如期而至。下面针对自己的体会列举一些解决问题的观点(希望大家一起来发表自己的见解):
把握需求
尽可能多地去了解需求挖掘需求,对于不懂的业务知识花时间去学习,这在开发阶段会避免你做错事,给你节省很多宝贵的时间。
了解整体架构
或许你并不是架构师也不是项目经理,而只是一个coder,你的工作仅仅是去实现系统中某个模块的功能,但我也建议你尽可能地去了解系统的整体架构,了解其它人都在做些什么。
团队交流
只有互相交流你们才是一个团队而不是几个人拼凑在一起,任何问题都可以拿出来交流,并且互相帮助跟互相学习。我想这比一个人整天闷着头写代码感觉要好得多。
基础决定高度
对于基础知识,我们应该花更多的时间来学习,因为没有什么比基础更能长远地让你受益的了,如果你是做Web开发,HTML、CSS、JavaScript一样要熟悉,在你的眼里应该只有他们而没有服务器控件。
编程思想
语言是你手中的剑,语法是招式,而思想则是内功,只有内功达到一定的深度,你才能最大程度地发挥武功的威力,而且这时候再去学习另一个门武功将显得容易许多。
设计模式
深刻理解面向对象的设计原则和设计模式可以让你的代码更加具有魅力,看总这样的代码你总能心情愉快,实际上看着自己的程序因为需求的改变但却没有影响到程序原本的设计或者仅需要写一小段代码就实现了一个新功能的扩展是非常有成就感的一件事。
重构
学会欣赏你的代码,他们是你花心思写出来的,你不能放着糟糕的代码却视而不见,而且还安慰自己说,“只要它能工作,就不要去动它”,及时地重构每一行有臭味的代码,这将会给你带来无尽的快乐。
单元测试
尽可能地给你的方法写单元测试,它可以让你对你的代码更有信心,这样你才能对你的代码更有把握,你也会更加快乐。
不要把问题留到明天
如果已经下班了问题却还没有解决怎么办?加班吧,既使是没有加班费,问题不应该被累积,要不总有一天它会成为你的恶梦,把问题全部解决了再回家,你可以安稳地睡个好觉。
学习英语
程序员应该学习好英语,它可以帮助你看懂英语文献跟文档,可以让你在论坛上跟全世界的人一起讨论问题,它也可以帮助你写程序的时候取一个有意义的类名,变量名或方法名,如果你们公司需要跟老外打交道,升官发财的机会也就全靠它了。
Work Hard, Play Hard
工作的时候我们努力地工作,玩的时候我们也要疯狂地玩。