软技能,使你成为更好的程序员
我已经写了近11年的代码。我完全确信的一件事是,要成为一名优秀的程序员,你必须做的不仅仅是编写代码。
这里有一些重要的做法可以让任何人成为更好的程序员。
写给其他人使用
为从现在起2年后开始解决代码问题的初级开发人员编写代码。意即:
选择更好的变量和函数名称
解释为什么(而不是)代码如何使用内联注释来执行它
编写更好的提交消息
请阅读安装指南和编码指南
将文档视为需要不断审查和重构的代码库的组成部分
编写你的代码库,因为将来它将由一个白痴管理。
PS:为机器优化代码也很重要,但试图从同性智能体中抽象出来。
编写测试用例
我所使用的最好的产品测试覆盖率在85-95%之间。这显然看起来像一个大的承诺,特别是当你是独立开发者时。
无法测试所有内容,但至少需要为可能会失败或随时间变化的部分编写测试用例。
编写单元或集成测试似乎是一件昂贵的事情,但在一天结束时,它们总是比解决制作问题更便宜。
坚持你的工具
在熟悉你的工具之前,需要花费大量的工作(例如IDE)。它需要更多的工作才能使工具成为你潜意识的一部分。
令人惊讶的是,大量的开发人员频繁地改变他们的工具,语言和框架。我并不反对获得使用所有这些工具的经验,但我坚决反对非常规的做法。
这不一定是你和你的工具之间的婚姻,但是你也不应该有太多的一夜情。安定下来一段时间,孩子!
部署它!
我失去了从未见过日光的项目。大多数开发人员有两个惊人的个性特征:
完美主义者:不让你发射任何东西不完美的部分
Procrastinator:这并不能让你做出任何完美的事情。即使你没有一个好产品,也不要让这些特质接管并阻止你启动。不要让你的梦想应用程序死在私人git回购!
捍卫你的最佳实践
如果医生在做检查之前洗手,这被认为是正常的(事实上,这是一种很好的做法)。
但是,如果开发人员想在编写实际代码之前编写测试用例,许多雇主/客户会发现它很奇怪。
每笔交易都有一些应该遵循的良好做法。有时成为一名优秀的推销员是成为优秀程序员的途径。推销您的最佳做法!
您的客户/雇主可能不知道有关技术的最佳实践。教育他们是你的责任,如果需要,甚至告诉他们如果你不遵循最佳实践会发生什么。(可以用一个或两个历史例子来吓唬他们)。
学习一种新的编程语言
每年学习一门新语言。如果你可以用它工作,太棒了!如果没有,没关系。一种新的语言不仅会给你一种额外的技能,它还会给你新的思考方式。
例如,来自Java和C ++的背景,花了我一些时间来消化我们可以在没有main函数的情况下使用PHP运行程序的事实。
在处理基于PHP-Apache的URL(例如home.php)之后,Python实现路由和URI的方式对我来说几乎是一个震撼。
学习一种新的语言将帮助你用当前的语言来质疑标准。