您当前的位置:首页 > 计算机 > 编程开发 > 软件工程

软件工程之开发编码

时间:05-17来源:作者:点击数:

软件工程师的核心竞争力

软件工程师的核心竞争力,不是单一能力的体现,而是几种能力和价值的合集。学习能力、解决问题能力和影响力构成了软件工程师的核心竞争力。

  • 编程语言、框架、工具,这些都不是软件工程师的核心竞争力,能快速学习掌握编程语言、框架、工具的学习能力才是软件工程师最基础的核心竞争力。
  • 软件工程师日常开发工作的核心还是在发现问题、分析问题和解决问题,在这里统称为解决问题的能力。
  • 影响力不是一朝一夕能形成的,但却是一个软件工程师最核心的价值体现。你需要通过一点点技术成长的积累,需要通过一个个成功项目的积累,需要通过一篇篇技术文章分享的积累,需要通过一次次帮助其他人成长的积累。而一旦形成足够的影响力,就会变成软件工程师职场发展最牢固的护城河。
    在这里插入图片描述

如何提升学习能力?

首先需要在一个技术领域深耕

  • 每个人精力其实很有限的,一开始专注在一个技术领域容易在短时间取得成绩,同时也相当于建立起了最初的知识体系,在未来的知识森林里种下的第一棵大树,这样当你开始学习新的技术的时候,已有的知识就可以直接借用,相当于这棵大树可以帮助新的知识树的成长提供很好的养分,快速培养出新的大树。
  • 如果一开始就同时涉猎多个领域,每个领域的知识又没有掌握好,这样的知识是没法共享的,就相当于你种的只是一片知识的灌木,最终只能收获像灌木丛的知识体系。

只有一个领域的知识你真正吃透,才能有效地共享到其他领域,构成一个知识领域的森林。

然后往相近的领域逐步横向拓展

  • 当在一个技术领域达到一定深度后,可以开始横向扩展。最好是往相近的领域扩展,因为这样你之前的知识有很多是可以共享的,容易快速取得成绩。
  • 当然横向构建知识体系,也一样不是一个轻松的过程,因为以前你在某个领域取得的成就和经验,反过来也会成为一种阻力。因为以前你熟悉的知识,已经变成了你的舒适区,你会天然地不愿意走出舒适区,不愿意到挑战区或恐慌区去学习新的知识。
  • 但是,当你迈过去,掌握了新领域的知识,就会感觉整个知识体系一下子扩展了很大一块。相当于让你的知识体系,从一棵树,逐步变成了一个小树林,最终会成为一个森林。
  • 快速掌握新技术的秘籍,就是要构建属于你的知识体系,让你在学习新知识时,能借用已有的知识,加快学习速度。

自动化测试

自动化测试,分为三类:

  • 小型测试,主要针对函数或者类进行验证,不调用外部服务,执行速度快;
  • 中型测试,主要验证两个或多个模块应用之间的交互,可能会调用外部服务,尽可能让所有测试能在本机即可完成,执行速度比较快;
  • 大型测试,对服务整体进行验证,执行速度慢。

写好单元测试代码,基本结构就是:准备、执行、断言和清理;基本原则就是:

  • 要验证正确性;
  • 覆盖边界条件;
  • 验证是否有异常和错误的处理。

自动化测试,一定要配合好持续集成,才能最大化发挥其效用。

对于自动化测试的实施,开头是最难的,因为需要花时间选择自动化测试框架,需要针对自动化测试框架搭建环境,甚至要去搭持续集成环境。但搭建持续集成和搭建自动化测试环境,并且保证持续更新维护自动测试代码,这个技术投资,一定是你在项目中最有价值的投资之一。

搭建持续集成环境和集成自动化测试框架的事情,要作为一个正式的项目任务去做,当作一个很重要的任务去推进。

源代码管理工具

  • 源代码管理工具也叫版本控制系统,是保存文件多个版本的一种机制,可以记录文件的历史版本。

用好源代码管理工具,有三个简单可行的原则:

  • 原则一:要频繁的提交;
  • 原则二:每次提交后要跑自动化测试;
  • 原则三:提交的代码要有人审查。

基于源代码的开发流程,要保证好两点:

  • 有一个稳定的代码分支;
  • 在合并分支之前,对代码有审查,自动化测试要能通过。

用好源代码管理工具,设计好开发流程,保证好代码质量,你的协作才能更高效。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门