• 构建之法阅读笔记三


    第三章讲的是软件工程师的发展,文章一开始就把软件工程师和职业篮球队员做了类比,其实做软件和打职业篮球赛一样,都需要团队的配合,但是个人的工作以及贡献却也影响着团队。

    在一个团队中我们需要协商确定有个可行的方案,然后各自完成各自的代码,各自的代码的有序结合并且和队友修复BUG并对结果负责,这就是这个团队的软件。所以说在编写软件的过程里中,我们每个人都是为了这个集体服务,每个人都为集体发挥着不可替代的作用。这不由让我想起了我们团队在制作APP的过程中,我们每个人就是这样分工合作的,我们每个人负责一个模块,所以在APP的编写过程比较快,但是我也有反思,每个队员都为自己做的代码负责这一点说到很简单,但是做到却不简单。我们每个人的代码在结合的时候总是会出现这样那样的错误,一旦不知道错误的来源,我们就会开始争执,没有掌控自己的代码并对其负责,这是我应该注意的问题。

    文章还提到了软件工程师和菜鸟的区别,总的来说,软件工程师对代码的理解比我们深刻的多,他们能更加熟练地运用编程技巧更加注重软件的质量和交付的时间。这些都是我要去努力的目标。这当然需要大量的练习和实践,但是这样的无脑的实践又会引出下一个问题,文章里面提到的魔方问题。

    诚然,玩魔方需要记住口诀要领,这其实和我们的编程是一样的。我们编程和玩魔方一样,在熟练之后都类似于机械化的工作。但是如果不加以理解总会出错,所以就会造成技术的倒退。机械的工作是不能开辟创新的方法的,正好想你只能拼回去却总不能承受一点点小小规则的改变。所以我们在编程的过程中要思考我们这程序的算法是否最优而不是仅仅是得到正确的结果,这样我们才能更好地适应这个程序员这个工作,就像文章开始说的那样,高级软件工程师和程序员的区别就是对程序的理解和优化而不是编程的速度。

    在编程的过程中,我们可以借用别人的东西,但是有一点是不可能借用到的,那就是我们软件的核心思想和核心竞争力。所以我们不仅仅是要学会玩“魔方”,更加要去深入地了解魔方的玩法,做到别人不会的而你却可以做到,这样就能使自己脱颖而出,才能被别人认可。

  • 相关阅读:
    MySQL 复制表结构和表数据
    学习使用Guava Retryer
    Maven 常用工具类整理
    转 全面理解Javascript闭包和闭包的几种写法及用途
    Python的全局变量
    python的内存管理机制
    Python 隔离沙箱 virtualenv
    <script> 的defer和async
    高性能Javascript(2) DOM编程
    高性能Javascript(1)
  • 原文地址:https://www.cnblogs.com/3066405538a/p/5581102.html
Copyright © 2020-2023  润新知