【实战技能】初级软件开发工程师常见问题

目录

计算机系统知识

计算机系统结构

软件运行需要的系统资源以及正常运行状态

软件开发基础

使用软件工具

软件开发技术

软件开发流程


本文将从计算机系统结构、软件开发基础、使用软件工具、软件开发技术和软件开发流程多个角度,列出初级工程师在软件开发过程中的常见缺陷。以下内容,来源于我工作和公益教育活动中发现的普遍问题,希望能引起初级工程师、高校教师以及技术管理者的注意。

【实战技能】初级软件开发工程师常见问题_第1张图片

 

图片来源:Every time a baby boy is circumcised God kills a kitten. Think of the kittens. - God Kills a Kitten - quickmeme

计算机系统知识

大部分初级工程师缺乏以下计算机系统知识,注意力只在软件开发,而不会考虑软件所处的系统环境。以下要点都是需要在软件开发时注意的。

计算机系统结构

  1. 磁盘大小
  2. CPU 多核
  3. 内存大小
  4. 网络以及所用端口

软件运行需要的系统资源以及正常运行状态

  1. CPU 使用率
  2. 内存使用率
  3. 磁盘使用率
  4. 网络吞吐量

软件开发基础

  1. 无法在分析和设计中灵活使用面向对象的概念。例如代码包含大量的case或switch语句,没有运用多态;定义一体化的可变记录包含所有与数据相关的属性,为了区分变种必须检查与该记录关联的标记,而不是为各种数据创建一个类层次结构。前者容易出错,增加了设计的不稳定性;
  2. 不能理解Spring系列框架的基本原理;不理解Spring系列框架中注解方法; 不能掌握Spring 系列框架模块的使用方法;
  3. 不熟悉Tomcat服务器的基本原理;
  4. 不熟悉常用的计算机英文术语;
  5. 不熟悉Servlet和Web应用的结构和功能,无法运行Web应用的时候,将责任推给IDE。:(
  6. 不能从性能角度优化代码,如SQL语句,如Java语句;
  7. 不能理解HTTP协议;
  8. 不能理解AJAX的原理;

使用软件工具

  1. 害怕学习使用新的工具,害怕做深入的研究;
  2. 不系统查看官方文档,查看零碎的博客文章;
  3. 需要查询某些内容的时候不用搜索关键词方法,而是用滑动;
  4. 未掌握阅读方法:先泛读,再精读,通过导航栏提高阅读速度;阅读时不应该逐字逐句,而是要基于意群阅读;
  5. 不需要调试的时候使用了过多的调试,影响工作效率,需要注意认真阅读程序错误信息并结合相应知识解决问题;
  6. 需要学会在合适的时候使用相应的工具;
  7. 需要系统性地阅读书籍,并养成良好的学习习惯;
  8. 不喜欢看文档,过多使用视频。

软件开发技术

  1. 未用面向对象的方法设计类,未自觉使用UML画用例图、类图、时序图等;
  2. 未认真思考如何设计方法;
  3. 不遵循编码规范;
  4. 未在适当的时候采用代码重构技术;
  5. 参考开源代码某些方法的写法时,过多使用调试方法,而不是经过分析理解后写出正确的语句;
  6. 考虑问题不全面,有时候因为基础知识的缺乏和理解不深刻导致不仔细;
  7. 直接将需求转化为程序语句,而不是进行分析后抽象出重要特征;
  8. 需要掌握必要的口头和书面交流方法,如总分总表达等。

软件开发流程

  1. 对软件开发生命周期缺乏系统认识,缺乏规划,未经全面分析和设计后才开始开发工作,总是喜欢直接写代码;
  2. 缺乏贯穿在整个流程的质量意识,没有为荣誉而战的意识。可参考【实战技能】编写卓越的代码_苹果二的博客-CSDN博客

希望初级工程师能积极改掉以上所说的缺陷,积极努力养成好的工作习惯,成为优秀的开发者。也欢迎留言与我讨论。

你可能感兴趣的:(专业发展,学习方法,软件开发,java,软件开发方法,软件开发基础)