程序员,你其实可以做得更好
2012-09-02 00:00
330 查看
小范围的选择一些有用技术,透彻的学习它们,拥抱它们。然后不断的扩展这个范围。
理解各种数据结构的优点和缺点,包括它们在内存中和在硬盘上的各自表现。
理解各种算法的优点和缺点。
了解你的工作领域。关上电脑,去做你的用户们在做的事。
有准备,有愿望,有能力在任何时候投入到多种技术层面中。你必须知道表象下的技术原理。在“各个技术层面的掌握程度”和“编程能力”上有着密切的联系。
发挥你的想象力。永远都要问,“有更好的方法吗?”跳出常规思维约束。最好的解决方案也许还没有被发现。
优秀程序员:我优化代码。更优秀程序员:我设计数据。最优秀程序员:他们的不同之处是什么?
正确的构造你的数据。任何的缺陷都将造成你的代码里无尽的技术债务。
正确的命名事物。使用“动词-形容词-名词”格式来命名程序和函数。变量名要足够长,尽量短,有意义。如果其他程序员不能够理解你的代码,说明你写的不够清楚。在大多数情况下,针对下一个程序员而编码要比针对环境而编码重要的多。
把分析和编程分离开做。它们不是同类的事物,需要不同类型的劳力资源,需要在完全不同的时间和地点分开做。如果同时做它们,你一样都做不好。(我喜欢在一天的末尾做不涉及技术的分析,而在第二天早上进行编程。)
永远不要图省事走近道。永远不要把相同的代码部署两次。永远不要把一个变量命名成另一个变量名的一部分。也许你不明白这些规则,也许你要辩解。但如果你是遵守着这样做的,这些规则就会约束你正确的构造你的程序。图省事的做法是让那些低等级的程序员永远停留在低等级的原因。
学习如何测评程序性能。你会惊奇的发现从中能学到很多之外的知识。
学会区别对待问题细节和问题后果。问题细节不会导致太大的差别,而问题后果能导致世界灭亡。只关注后果。
密切关注你的用户/客户/管理人员。帮助他们认清楚他们的“what”,这比帮助他们明白他们的“how”要重要的多。
写一个框架,不论你是否打算用它。你将从中学到从其它途径中学不到的东西。
把你知道的东西教给他人——通过口口交流或通过写作。最终这将成为教育自己的机会。
永远要对你的客户/用户说“Yes”,即使在你不确定的情况下。90% 的情况下,你会最终找到方法实现它。10% 的机会,你将会去向他们道歉。这是重要的个人成长中付出的一点小代价。
寻找别人的做出神奇的事情但却一滩糊涂的代码。重构它。然后丢掉它,并发誓自己永远不要犯他们犯下的相同错误。(这样的程序你会发现很多。)
数据永远大于理论或观点。通过开发东西来学习数据。
有可能的话,开创自己的业务(服务或产品)。你将从中学到很多你做雇员永远学不到的关于编程的知识。
理解各种数据结构的优点和缺点,包括它们在内存中和在硬盘上的各自表现。
理解各种算法的优点和缺点。
了解你的工作领域。关上电脑,去做你的用户们在做的事。
有准备,有愿望,有能力在任何时候投入到多种技术层面中。你必须知道表象下的技术原理。在“各个技术层面的掌握程度”和“编程能力”上有着密切的联系。
发挥你的想象力。永远都要问,“有更好的方法吗?”跳出常规思维约束。最好的解决方案也许还没有被发现。
优秀程序员:我优化代码。更优秀程序员:我设计数据。最优秀程序员:他们的不同之处是什么?
正确的构造你的数据。任何的缺陷都将造成你的代码里无尽的技术债务。
正确的命名事物。使用“动词-形容词-名词”格式来命名程序和函数。变量名要足够长,尽量短,有意义。如果其他程序员不能够理解你的代码,说明你写的不够清楚。在大多数情况下,针对下一个程序员而编码要比针对环境而编码重要的多。
把分析和编程分离开做。它们不是同类的事物,需要不同类型的劳力资源,需要在完全不同的时间和地点分开做。如果同时做它们,你一样都做不好。(我喜欢在一天的末尾做不涉及技术的分析,而在第二天早上进行编程。)
永远不要图省事走近道。永远不要把相同的代码部署两次。永远不要把一个变量命名成另一个变量名的一部分。也许你不明白这些规则,也许你要辩解。但如果你是遵守着这样做的,这些规则就会约束你正确的构造你的程序。图省事的做法是让那些低等级的程序员永远停留在低等级的原因。
学习如何测评程序性能。你会惊奇的发现从中能学到很多之外的知识。
学会区别对待问题细节和问题后果。问题细节不会导致太大的差别,而问题后果能导致世界灭亡。只关注后果。
密切关注你的用户/客户/管理人员。帮助他们认清楚他们的“what”,这比帮助他们明白他们的“how”要重要的多。
写一个框架,不论你是否打算用它。你将从中学到从其它途径中学不到的东西。
把你知道的东西教给他人——通过口口交流或通过写作。最终这将成为教育自己的机会。
永远要对你的客户/用户说“Yes”,即使在你不确定的情况下。90% 的情况下,你会最终找到方法实现它。10% 的机会,你将会去向他们道歉。这是重要的个人成长中付出的一点小代价。
寻找别人的做出神奇的事情但却一滩糊涂的代码。重构它。然后丢掉它,并发誓自己永远不要犯他们犯下的相同错误。(这样的程序你会发现很多。)
数据永远大于理论或观点。通过开发东西来学习数据。
有可能的话,开创自己的业务(服务或产品)。你将从中学到很多你做雇员永远学不到的关于编程的知识。
相关文章推荐
- 程序员,其实你可以做的更好
- 程序员,其实你可以做的更好
- 程序员,其实你可以做的更好
- 如果不当程序员,我是否可以生活的更好
- [经验随笔]其实可以做的更好(一)
- [经验随笔]其实可以做的更好(二)
- 其实我也可以更努力 我完全也可以更好
- 7个方法可以让你成为更好的程序员
- 6条可以成为更好程序员的建议
- 这其实是个励志故事,告诉我们只要坚持,再烂的程序员都可以写到亿级别的项目的
- 微软的某些东西,确实不敢恭维,其实,它可以做得更好
- 微软的某些东西,确实不敢恭维,其实,它可以做得更好
- 程序员其实可以这样提高编程能力
- 其实我可以做的更好
- 程序员的激情其实是一种痛苦
- 让你成为一个更好程序员的10大C语言资源(英文)
- 一个用JAVA编写的洗澡提醒程序,对话框练习,程序员也可以逗女朋友玩
- 【经验学习】三个方法让你成为更好的程序员
- 请别叫我程序员!其实我不会,真的!
- 做到这一点,你也可以成为优秀的程序员