阅读|高效程序员的 7 项技能( 二 )
4. Github
文章插图
一些计算机专业的学生从出生那天起就开始使用 GitHub 。 他们能够理解每一个命令和参数 , 并且远远超过了专业人士 。
有些人则是在第一份工作中首次接触到 GitHub。 对他们来说 , Github 令人困惑的命令和流程犹如梦魇 。 他们从来都无法 100% 确定自己在做什么(这就是速查表受欢迎的原因) 。
无论你的公司使用哪种存储库系统 , 如果使用得当 , 那么该系统就有帮助;如果使用不当 , 那么它就会成为障碍 。 一个不费多少时间的简单推送或提交就可以让你花费几个小时去理清多个分支和复刻(fork) 。 此外 , 如果你经常忘记拉取存储库的最新版本 , 那么你还将处理并不好玩的合并冲突 。
如果你需要保存一份 Github 命令速查表 , 那么这样做就好 。 只要能让你的生活变得更简单 。
5. 编写简洁可维护的代码
文章插图
年轻工程师可能会倾向于将他们知道的所有东西都在一个解决方案中实现 。 这种愿望让你把自己对面向对象编程、数据结构、设计模式和新技术的理解全部都用在了每一段代码的编写中 。 这增加了不必要的复杂性 , 因为很容易过度依赖于你过去使用过的解决方案或设计模式 。
复杂的设计概念和简单的代码之间存在一种平衡 。 设计模式和面向对象的设计应该从整体上简化代码 。 不过 , 一个过程如果抽象、封装和黑盒化程度越高 , 调试就越困难 。
6. 学会说“不” , 分清轻重缓急这适用于任何角色 , 无论是金融分析师还是软件工程师 。 但尤其值得一提的是 , 似乎每个人都需要技术角色提供一些东西 。 如果你是一名数据工程师 , 那么你需要做的可能不仅仅是开发管道 。 一些团队需要数据提取 , 一些团队则需要仪表板 , 还有一些团队需要你为他们的数据科学家提供新的管道 。
分清轻重缓急和说“不”可能真的是两种不同的技能 , 但它们紧密地交织在一起 。 分清轻重缓急意味着你只把时间花在对公司有重大影响的事情上 。 而说“不”有时候只是意味着避开应该由另一个团队来处理的工作 。 不管对于什么角色 , 它们都常常是同时发生的 。
这是一项很难掌握的技能 , 因为你很容易接受别人提出的每一个要求 , 尤其是如果你刚大学毕业 。 你想要避免让任何人失望 , 你总是会获得大量的工作 。
在大公司里 , 总是有无穷无尽的工作要做 。 关键在于只承担能完成的工作 。
有很多技巧没有经过面试检验 , 甚至在大学里也没有教授过 。 通常 , 这更多的是环境限制 , 而不是不想让学生接触真实开发环境中存在的问题 。
7. 面向操作的设计思维
文章插图
有一项技能在面试中很难检验 , 在大学里上课时也很难学到 , 那就是思考最终用户在使用你的软件时可能会犯什么错 。 我们通常把这个叫做通过操作场景进行思考 。
不过 , 这只是一种礼貌的说法 , 意思是“你正在设法实现蠢人也不会搞砸的代码” 。
例如 , 由于大多数编程都是维护 , 所以这通常意味着修改与其他代码混在一起的代码 。 即使是简单的修改也需要跟踪对象、方法和 / 或 API 的所有可能引用 。 否则 , 很容易意外破坏相关的模块 。 即使只是修改数据库中的数据类型 。
这还包括在开发之前考虑边缘情况和整个高层设计 。
对于开发新模块或微服务这种更复杂的情况 , 花时间考虑正在构建的软件的操作场景很重要 。 考虑未来的用户可能需要如何使用你的新模块 , 他们在使用它时可能会犯什么错 , 可能需要哪些参数 , 以及未来的程序员可能要以不同的方式使用你的代码 。
【阅读|高效程序员的 7 项技能】简单的编码和编程只是问题的一部分 。 创建可以在你的电脑上正常运行的软件很容易 。 但部署代码出错的方式很多 。 一旦投入生产 , 就很难说代码将被如何使用 , 以及其他哪些代码将附加到原来的代码中 。 五年后 , 未来的程序员可能会对代码的限制感到沮丧 。
- 现状|程序员现状揭秘:平均年薪20.36万,Java人才需求量最大
- 设置|iPhone拍照小技巧:保留常用设置更高效
- 联网时代|34岁转行做程序员是否还有成功的机会
- 产品|墨案Inkpad X超级阅读器:10英寸大屏,同品类号称无敌
- 复习|期末整理复习笔记?MHMO魅蒙iPad专用笔助提高效率
- Python源码阅读-基础1
- 程序员学英语第1天——JavaScript 程序测试的介绍1
- 这些错误,程序员经常会犯,你了解过吗?
- 详解m3u8协议
- 湖南“速生人工林”成功验收 打造绿色高效循环产业技术创新链
