高效程序员的7项技能
极客时间编辑部
讲述:丁婵大小:2.34M时长:05:06
受 TechLead 高效程序员的七项技能启发,一位网名为 SeattleDataGuy 的工程师总结了高效程序员的七项技能,如下。
1. 学会如何阅读他人的代码
不管之前工程师的代码有多么混乱或欠考虑,你仍然需要仔细阅读它。毕竟,这是你的工作,即使这些代码是你写的。
学会阅读代码对你有两个好处。第一,有机会去了解什么是糟糕的设计。当你在浏览别人的代码时,你会了解到什么有用什么没用。第二,你还会了解到,对其他工程师来说,哪种类型的代码比较容易理解哪种代码比较难理解。
阅读别人的代码会提升你的价值,因为你可以追踪那些因为过于复杂而让他人感到困惑的系统。
2. 能够感知糟糕的项目
有很多技能需要花时间去学习,而有一项技能是必须了解的,那就是知道哪些项目不值得做,哪些项目必然失败。
大公司总是有很多正在进行中的项目,有些项目可能永远无法完成或产生影响。有一些项目可能没有任何商业意义(至少对你来说没有),还有一些项目管理不善。此外,有些项目可能过于关注技术而不是解决方案,因此从一开始就该清楚它不会带来太大的影响。
对于判断项目好坏,你需要经历过很多糟糕项目之后,才能懂得什么样的项目是糟糕项目。所以,不要过早地花太多时间去辨别每个项目。
3. 少开会
无论你是软件工程师还是数据科学家,会议都是必要的,然而,会议有时会占满你的日程表。懂得如何避免不必要的会议很重要,确保你花在会议上的时间是为了推动决策并帮助你的团队前进。
4. GitHub
很多人是在第一份工作中首次接触到的 GitHub ,对他们来说,GitHub 令人困惑的命令和流程犹如梦魇,让他们无法 100% 确定自己在做什么,所以需要命令速查表来帮助记忆。
无论你的公司使用哪种存储库系统,如果使用得当,那么该系统就有帮助;如果使用不当,那么它就会成为障碍。一个简单推送或提交就可以让你花费几个小时去理清多个分支和复刻(fork)。此外,如果你经常忘记拉取存储库的最新版本,那么你还将处理合并冲突。
在这些情况中,如果你需要保存一份 GitHub 命令速查表,来让你的工作变得更简单,那这么做是再好不过了。
5. 编写简洁可维护的代码
年轻工程师可能会倾向于将他们知道的所有东西都在一个解决方案中实现。这增加了不必要的复杂性。复杂的设计概念和简单的代码之间存在一种平衡,设计模式和面向对象的设计应该从整体上简化代码。不过,一个过程如果抽象、封装和黑盒化程度越高,调试就越困难。
6. 学会说“不”,分清轻重缓急
分清轻重缓急和说“不”可能真的是两种不同的技能,但它们紧密地交织在一起。分清轻重缓急意味着你只把时间花在对公司有重大影响的事情上。而说“不”有时候只是意味着避开应该由另一个团队来处理的工作。
这是一项很难掌握的技能,因为你很容易接受别人提出的每一个要求,尤其是如果你刚大学毕业。你不想让任何人失望,所以你总会获得大量的工作。
7. 面向操作的设计思维
有一项技能在面试中很难检验,在大学里上课时也很难学到,那就是思考最终用户在使用你的软件时可能会犯什么错。我们通常把这个叫做通过操作场景进行思考。
例如,由于大多数编程都需要维护,这通常意味着修改混在正常代码中的错误代码,所以即使是简单的修改也需要跟踪对象、方法或 API 的所有可能引用。否则,很容易意外破坏相关的模块,即使只是修改数据库中的数据类型。这还包括在开发之前考虑边缘情况和整个高层设计。
对于开发新模块或微服务这种更复杂的情况,花时间考虑正在构建的软件的操作场景很重要。考虑未来的用户或者程序员可能需要知道如何使用你的新模块,可能需要哪些参数等等。
总之,部署代码出错的方式很多,面向操作的设计思维可以在一定程度上减少修改代码的次数。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- 爱学习的大叔面向操作的设计思维
- 唐诗三百首比较中肯
收起评论