代码人的专业素养
2024-08-17 15:12:28 0 举报
AI智能生成
这份文件详细介绍了代码人的专业素养,包括编程技能、软件工程知识、团队协作和沟通能力、问题解决能力、持续学习和创新能力等方面。强调了这些素质对于成为一名优秀的代码人的重要性。
作者其他创作
大纲/内容
编程思想
OOP(面向对象编程)
Object Oriented Progtamming
定义
面向对象是按人们认识客观世界的系统思维方式,采用基于对象(实体)的概念建立模型,模拟客观世界分析、设计、实现软件的办法。通过面向对象的理念使计算机软件系统能与现实世界中的系统一一对应。
特点
抽象 封装 继承 多态
优点
易维护、易复用、易扩展,由于面向对象有封装、继承、多态性的特性,可以设计出低耦合的系统,使系统更加灵活、更加易于维护
缺点
性能比面向过程低
代表语言
Smalltalk、Java、C#、Objective-C、C++等
PO(面向过程)
Procedure Oriented
定义
“面向过程”(Procedure Oriented)是一种以过程为中心的编程思想。这些都是以什么正在发生为目标进行编程,不同于面向对象的是谁在受影响。与面向对象明显的不同就是封装、继承、类。
特性
模块化 流程化
优点
性能比面向对象高, 因为类调用时需要实例化,开销比较大,比较消耗资源;单片机、嵌入式开发、Linux/Unix等一般采用面向过程开发,性能是最重要的因素。
缺点
没有面向对象易维护、易复用、易扩展
函数式编程
定义
函数式编程是种编程方式,它将电脑运算视为函数的计算。函数编程语言最重要的基础是λ演算(lambda calculus),而且λ演算的函数可以接受函数当作输入(参数)和输出(返回值)。
编程语言
强/弱定义
强类型语言(强类型定义语言)
是否安全
类型安全
定义
强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么他永远就是这个数据类型。
典型
C、C++、Java、C#
举例说明
若定义了一个整型变量a,若不进行显示转换,不能将a当作字符串类型进行处理。强类型语言是指需要进行变量/对象类型声明的语言,一般情况下需要百编译执行。
弱类型语言(弱类型定义语言)
是否安全
类型不安全
定义
数据类型可以被忽略的语言。它与强类型定义语言相反,一个变量可以赋不同的数据类型的值。
典型
PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell
举例说明
在VBScript中,可以将字符串'12'和整数3进行连接得到字符串'123',然后可以把它看成整数123,而不需要显示转换
缺点与不足
数据类型易出错
区别
能不能将一种类型当作另一种类型(已经存在转换关系的不算)
利弊
【强类型定义语言】在速度上可能略逊色于【弱类型定义语言】,但是【强类型定义语言】带来的严谨性能够有效的避免许多错误。
动/静类型
动态类型语言
定义
运行期间才做数据类型检查的语言,及动态类型语言编程时,永远不用给任何变量指定数据类型。该语言会在第一次赋值给变量时,在内部将数据类型记录下来。
典型
Python、Ruby、PHP、VBScript、JavaScript
静态类型语言
定义
编译期间做检查数据类型的语言,即写程序时要声明所有变量的数据类型,是固定的。使用数据之前必须进行数据类型的声明(int、float、double等)。
典型
C、C++、C#、JAVA
区别
变量类型是否是在编译时确定。
0 条评论
下一页