软件工程师必须知道的20个常识
作为一名优秀是软件开发工程师,以下的这些常识你知道吗?在实际工作中有没有总结过呢?小编就带大家一起分享这20个软件开发常识。
1.针对面向对象的设计与分析:为了让软件有更好的可维护性,重用性以及快速开发,简短的OOAD与它的SOLID原则对于每一个软件工程师来说都是该牢记的。
2.软件品质因素:软件工程的好坏与软件的品质因素是绝对关联的。请在开发过程中深刻的理解这一点。
3.数据结构与算法:深刻理解像数组,列表,栈,树,图,集合等这样的基本数据结构,并在软件开发过程的关键部分使用好的算法。这样整个软件逻辑就会很清晰了。
4.Big-O符号来标记算法复杂度:在开发过程中,请务必使用Big-O符号来比较两个代码段或者不同算法所消耗的时间复杂度,这在开发高性能软件项目中是非常重要的。
5.UML图:UML图已经是一个通用的软件设计与分析的语言。如果你们在开发软件的过程中还没有做UML图,那么给人的感觉就是这压根就不是软件工程。
6.正确的衡量软件开发进度。
7.设计模式:设计模式是前人在解决各种各样问题的过程中总结出来的一套标准对策,在绝大部分情况下,使用这些模式肯定是利大于弊的。如果你不想在开发过程中重新造轮子,那么就直接使用它吧。
8.理解操作系统的基本原理:因为所有的应用程序都是直接运行在操作系统这个层级的,学习操作系统的基本原理能让我们对应用程序的底层以及性能有更好的把握。
9.学习计算机组成原理:几乎所有的应用程序甚至是OS都需要与物理硬件打交道的,所以学习计算机组成原理与理解操作系统原理一样都可以让你对于应用程序有更深刻的理解。
10.网络基础:网络与计算机组成,操作系统以及传输流程都是紧密关联的,理解网络基础能让你在开发过程中得心应手。
11.需求分析:对于软件工程来说,需求分析是项目的起点,也是整个项目最最重要的部分。如果这玩意你搞错了,整个项目的方向也就错了。
12.软件测试:在软件工程中,测试也是非常重要的。单元测试,黑盒测试,白盒测试,TDD,集成测试等等都是我们必须知道的。
13.独立管理:主要是说类库(JAR,DLL等等)的管理,熟悉使用一些类似Maven,Ant,lvy这样的知名工具对于大型项目的类库管理是非常有用的。
14.持续化集成:持续化集成能让测试大型模块与组件更加简单与自动化,关于这一点,你可以去了解Hudson这个工具。
15.ORM:了解Hibernate这种将对象与数据库表映射工具是非常有好处的,它可以减少你的代码量并节省你的代码维护时间。
16.DI(独立注入):DI或者IoC(Inversion of Control)的具体实现框架Spring能让你创建对象时更加轻松,对于大型企业级项目更是如此。
17.版本控制系统:VSC工具(SVN,TFS,CVS等)对于团队合作开发以及版本控制都是非常重要的。熟练使用这类工具算得上是必备技能。
18.国际化:通过i18n来将不同语种的字符串存储在其他文件是让软件支持多语种最好的方法。所以i18n在不同的IDE上使用的方法我们应该了解。
19.架构模式:理解类似MVC,MVP,MVVM这样的架构模式非常关键,这能让你写出易维护,简洁以及方便测试的代码。
20.编写干净的代码:你的代码仅仅只是能够正常运行是远远不够的,它必须让编程人员轻易看懂来方便后续维护,所以,代码格式以及编写易读的代码技术都是我们需要了解的关键点。
软件工程师必须知道的20个常识相关推荐
- 作为软件工程师,你必须知道的20个常识
1.针对面向对象的设计与分析:为了让软件有更好的可维护性,重用性以及快速开发, 简短的 OOAD 与它的 SOLID 原则对于每一个软件工程师来说都是该牢记的. 2.软件品质因素:软件工程的好坏与软件 ...
- 中国人必须知道的20个常识
- 中国人必须知道的76个常识
1.[十二生肖] 子鼠.丑牛.寅虎.卯兔.辰龙.巳蛇.午马.未羊.申猴.酉鸡.戌狗.亥猪 2.[十大名茶] 西湖龙井(浙江杭 州西湖区).碧螺春(江苏吴县太湖的洞庭山碧螺峰).信阳毛尖(河南信阳车云山 ...
- 移动测试工程师必须知道的10个开源框架
移动测试工程师必须知道的10个开源框架 作者:彭海波 前言 随着移动互联网的发展,移动测试技术越来越成熟,很多优秀的开源测试框架涌现出来.作为一个移动测试工程师,我们不仅要夯实自己的技术能力,也要学会 ...
- 成长中必须知道的20个故事 (藏)---(转)
成长中必须知道的20个故事 1.断箭不相信自己的意志,永远也做不成将军. 春秋战国时代,一位父亲和他的儿子出征打战.父亲已做了将军,儿子还只是马前卒.又一阵号角吹响,战鼓雷鸣了,父亲庄严地托起一个箭囊 ...
- 弘辽科技:直播行业下半场弯道超车必须知道的20个要点
原标题<弘辽科技:直播行业下半场弯道超车必须知道的20个要点> 2021·直播论剑 有生之年系列的2020已过,那么,2021年的直播电商将如何发展与变化? 为你揭示2021年直播电商行业 ...
- 成长中必须知道的20个故事(摘自:魅族明的上古卷轴)
成长中必须知道的20个故事 1.断箭 不相信自己的意志,永远也做不成将军. 春秋战国时代,一位父亲和他的儿子出征打战.父亲已做了将军,儿子还只是马前卒.又一阵号角吹响,战鼓雷鸣了,父亲庄严地托起一个箭 ...
- 计算机专业可以报特岗吗,报考特岗前必须知道的20个真相
原标题:报考特岗前必须知道的20个真相 最近特岗的热度真的非常大 因为确定明年又要招啦 这问题又来了 专科生可以报考特岗教师吗? 没有教师资格证怎么办? 专业不对口可以吗? 报考特岗教师前你必须知道的 ...
- 【转贴】你必须知道的20个故事
[转贴]人成长中须知道的20个故事 1.断箭----不相信自己的意志,永远也做不成将军. 春秋战国时代,一位父亲和他的儿子出征打战.父亲已做了将军,儿子还只是马前卒.又一阵号角吹响,战鼓雷鸣了,父亲庄 ...
最新文章
- File ipython-input-20-ac8d4b51998e
- Linux:入门基础
- [转]jQuery源码分析系列
- GitHub Actions 支持 skip ci 了
- 关于index.html被缓存问题
- linux下安装VMware Tools
- c#仿照qq登录界面编辑框内容操作
- 洛谷P4867 Gty的二逼妹子序列(莫队+树状数组)
- 三阶魔方还原步骤图_五阶魔方还原教程——层先法
- 51单片机初学3-从零开始制作一款电子时钟
- jsp java语法_JSP 语法 | 菜鸟教程
- 减速器的参数优化 毕业设计 matlab,matlab减速器计算机辅助设计系统+程序+CAD图纸+源程序...
- 网址在QQ微信被拦截怎么办 微信屏蔽网址解决办法
- android手机电池寿命,真正有效延长手机电池寿命的几点建议(iPhone+安卓)
- Appium+python自动化(三十二)- 代码写死一时爽,框架重构火葬场 - PageObject+unittest(超详解)...
- 第九周-求一元二次函数的根
- git 命令git 地址_5个高级Git命令来启动您的Git游戏
- 如何快速的下载百度网盘的文件
- 亚马逊定制VP Review是什么原理?
- 一下搞懂HTTP协议