CrashCourseComputerScience16软件工程

104 阅读1分钟

软件工程

简单的算法可能一个工程师就可以独立开发,但很多复杂工程需要团体协作,因此需要软件工程来管理。

1.OOP Object Oriented Programming

将算法封装成函数是一个很好的习惯,但在大型项目里,函数数量依然会失控,这时需要更高层级的抽象——对象 Object。这样函数形成层级,打包成对象,方便工程师协作。

OBJECT Engine
  OBJECT CruiseControl
  OBJECT IgnitionControl
  ...
  FUNCTION startEngine()
  FUNCTION stopEngine()
  ...
  VARIABLE odometor
  VARIABLE engineTemperature
  ...
END OBJECT 

使用中类似于 Car.Engine.CruiseControl.setCruiseSpeed(55) 这样的调用。面向对象的编程逐渐流行起来,方便于协作和管理。

2.API Application Programming Interface

不同模块的工程师专注于自己的工作,但是需要和其他模块的工程师协作,这时需要一个接口,这个接口就是API。API 隐藏的复杂的实现,而是通过声明的方式直接调用。更加精细时,可以通过 public private 关键字来声明哪些是外部协作者可以调用的。

3.IDE Integrated Development Environment

代码在编译前和文本没有本质区别,开发者往往会用专门工具编写代码,以提升开发效率。
常见的提升包括编写代码的速度,整理、编译和调试代码。这些工具因为集成了开发环境,所以称为集成开发环境。

4.协作

协作中除了上面提到的框架外,还需要更多的共识,例如文档、版本控制(git, SVN)。