有这样一讨论:你现在用10分钟做点什么,可以帮助到你今后的职业生涯?下面给出了这个问题很好的一个答案,值得程序员思考。
编写程序不是为了写代码而写代码,它是为了解决某个问题,个体程序员必须遵守的四个基本原则是:
1.明确问题(清楚需求和限制条件分别是什么);
2.明确解决方案(清楚要使用的数据结构和算法);
3.用代码清晰地表达出解决方案;
4.证明或测试程序的正确性。
很多程序员可以把第三条做得非常好,因为这一点比较简单,但是由于没有理解并掌握其它三条,你也就是个普通的程序员。通常来讲,一个优秀的程序员甚至不需 要写什么代码就可以解决问题,他们总是用他们的知识和经验来避免新的问题,可以找到那些不需要添加新代码的解决方案。一个团队中,非常有经验的程序员,可以在非编程的那些工作上做出很大的贡献,比如那些一个人独立做不了的的工作(因此原先这些工作出于简洁的目的就被放弃了)。
如果你对编程行业中的工具十分了解,更多技能的学习就应该来自于问题(需求)的特定领域,而不再是编程本身。问题可能来自于很严肃的话题,像物理或医药 学,也有可能是经济或市场问题,也有可能是游戏赌博的问题。所以所,你可能会在编程职业生涯中要多次转变“身份”。不管是什么问题,想要成为一名优秀伟大的程序员就意味着要有一些科学和技术的素养,而不仅仅是敲代码。