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