看法基于已熟悉的三种语言:C/C++,Python和Java。数组
语言信息
- 版本信息:语言版本变迁历史
- 源代码文件:文件后缀,中间文件形式,源文件经常使用格式--如文件头、入口函数定义等
- 编译与运行:开发工具(编译器、解释器、调试器及IDE等)、发布方式(原生文件仍是打包程序)、调试工具
基础语法
注释
- 好的代码应该是自解释的,但有时也须要注释的帮助。
- 传统型注释方式:单行注释,多行注释
- 功能性注释:
- 做为对象的一部分,如Python中对象的__doc__属性
- Java中的注解
类型系统
- 类型的做用:
- 对象或数据对应空间大小,存储时占用的空间、读取时解析的空间
- 对象或数据自身的操做及适用于该类型的操做集合
- 标识符、变量、文字常量及常量
- 文字常量:源代码中直接书写的数值、字符串、布尔值等,经常使用语赋值语句的右侧
- 标识符,命名规则,是否大小写敏感,关键字集合
- 变量,命名规则,与内存区、对象的绑定关系
- 常量,定义方式,明明经常使用法--如全大写等
- 类型分类:
- 基本类型
- 主要包括数值类型(整型、浮点型及复数等)、字符及字符串类型、布尔类型等
- 字符串类型:存储方式、支持的操做符、编码问题
- 扩展类型
- 枚举类型
- 空类型:void/None/null
- 指针类型
- 类类型
- 内置容器
- 数组类型:数组定义、多维数组、数组索引及越界访问问题等
- 其余语言级支持容器,如Python的tuple/list/dict
- 类型转换规则
操做符
- 操做符,是对计算机指令系统的抽象封装
- 基本操做符--通常语言都支持的操做符:
- 赋值操做
- 算术运算符
- 比较运算符
- 逻辑运算符
- 位操做运算符
- 特殊操做符:
- 判断:三元操做符(?:),sizeof,类型判断(instance of)
- 操做符优先级
语句
- 源代码的组织形式,好的源代码是便于阅读的源代码
- 单行语句
- 单行语句,是否须要分号作结尾符
- 空语句块--如{}及关键字pass均可表示空语句
- 语句块
- 语句块定义方式:中括号表示{},及Python的缩进表示法
- 语句块,对变量及对象的生命周期及可见性的影响
流程控制
- 代码执行顺序,经常使用包括条件、循环及跳转
- 条件,if/else,switch
- 循环,while,do/while,for,foreach
- 跳转,return,break,continue,goto
函数及方法
- 函数是对功能的抽象,封装实现功能的细节
- 函数签名,由函数名及参数列表决定,不包括函数返回值
- 函数定义
- 函数参数:
- 传参方式:传值、传引用、传指针
- 默认值参数、不定长参数(可变参数)
- 不安参数顺序,采用参数赋值方式调用函数
- 函数返回值:
- 特殊函数:
- 函数特殊应用:
异常处理
- 异常处理是错误处理的一种方式,其余方式好比C的返回值判断
- 异常做用:能够将正常流程代码与异常处理代码分开
- 异常系统:
- 抛出异常:throw或raise关键字抛出异常
- 捕获异常:try/catch捕获异常
- 系统定义异常、自定义异常
- 异常捕获顺序
- 捕获全部异常
- finally在异常中的应用
- 异常声明:函数中声明可能抛出的异常
代码组织方式