编程语言学习框架

入门概述(Introduction)

版本迭代(Version Iteration)

注释与代码分割(Comments & Split)

构建与依赖管理(Builder & Dependence Manager)

语法基础(Syntax)

表达式(Expression)

变量(Variable)
  • 变量与常量声明(Variable Declaration)
  • 变量提升(Variable Hoisting)
变量赋值(Assignment)
  • 传值与传引用(Pass-by-Value & Pass-by-Reference)
  • 连续赋值(Continuous Assignment)
  • 解构赋值(Destructuring Assignment)
  • 复合类型拷贝(Copy Composite DataTypes)
运算符(Operator)
  • 基本运算符(Basic)
  • 位运算符(Bit Operator)
  • 运算符重载(Operator Overloading)
作用域与闭包(Scope & Closure)
惰性求值(Lazy Evaluation)

流程控制和异常处理(ControlFlow)

分支选择(Branch)
  • if
  • switch
循环(Loop)
  • for
    • for-in
    • for-of
    • forEach
  • while
  • break / continue
错误处理(ErrorHandling)
  • 异常定义与类型(Error)
  • 异常抛出(Throw)
  • 异常捕获(Try-Catch-Finally)

函数(Function)

函数定义(Function Definition)
  • 匿名函数(Lambda Function)
函数参数(Function Args)
  • 默认参数(Default Args)
  • 必要参数(Required Args)
  • 外部参数(External Args)
  • 不定参数
函数调用(Function Call)
装饰器(Decorator)
迭代器与生成器(Iterator & Generator)

类与对象(Class & Object)

类定义(Class Definition)
  • 类属性定义(Class Property Definition)
  • 类方法定义(Class Methods Definition)
    • 构造函数(Constructor Function)
    • 析构函数(Destructor Function)
    • Getter / Setter
  • 访问控制(Access Control)
    • 访问修饰符(Access Modifiers)
    • 私有数据(Private)
对象(Object)
  • 实例化(Instantiation)
  • 单例模式(Singleton Pattern)
  • this
类继承(Inheritance)
内部类(Inner Class)
反射/自省(Reflect)

输入输出流(IOStream)

模块(Modularity)

数据结构(DataStructure)

类型与值判断(Type Judgement)

引用或值相等(Reference/Value Equality)
动态类型检查(Runtime Type Checking)
常用属性判断(Property Checking)
  • 空间占用(Size / Length)
  • 存在性(Existing)

基本类型(Basic)

数值类型(Numeric)
  • 随机数(Random)
  • 科学计算(Scientific Computing)
  • 类型转换(Type Conversion)
空类型(Nullable)
布尔类型(Bool)
可选类型(Optional)
枚举类型(Enum)

字符串类型(String)

增删复替(Manipulation)
  • 格式化字符串(Format)
索引遍历(Index & Traversal)
类型编码(type & encode)*
  • 字符集
  • URL/HTML
  • 拼音
模式匹配(Pattern Match)
  • 正则表达式(RegEx)
  • 字符串校验(Valid)
  • 模糊搜索(Fuzzy Search)

时间与日期(DateTime)

时间解析(Parse)
  • 时间戳(TimeStamp)
  • 时间日期字符串(DateTimeString)
  • 时区转换(TimeZone)
  • 时间比较(Comparison)
时间展示(Display)
  • 格式化(Format)
  • 相对格式(Relative Format)
  • 时长(Duration)
  • i18n(国际化)
时间操作(Manipulation)
  • 读取与设置(Get & Set)
  • 时间增减(Add & Subtract)
  • 时间偏移计算(Diff)
日历(Calendar)

序列类型(IndexedCollection)

数组(Array)
  • 增删复替(Manipulation)
  • 索引遍历(Index & Traversal)
  • 转换(Transform)
    • map/flatMap
    • reduce
    • filter
    • sort
集合(Set)

索引类型(KeyedCollection)

映射
  • 增删复替(Manipulation)
  • 索引遍历(Index & Traversal)

不可变对象(Immutable)

流(Stream)

序列化与反序列化(Serialization)

  • Json
  • XML
  • CSV

功能(Functionality)

存储(Storage)

缓存(Cache)
数据库(DataBase)
  • MySQL
  • Redis
  • MongoDB
文件系统(FileSystem)
  • FilePath(文件寻址)
  • Monitor(文件监控)

网络(Network)

网络管理(Network Management)
套接字(Socket)
HTTP 访问(HTTP Client)
  • URI 处理工具集(URI Handler)
  • 请求构造(Request Generator)
  • 请求执行(Request Executor)
  • 响应解析(Responsive)
  • 复杂请求管理(Advanced Request)
WebSocket
远程调用(RPC)

系统进程(SysProc)

切面编程(AOP)
并发编程(ConcurrentProgramming)
  • 线程(Thread)
    • 线程池(ThreadPool)
    • 协程(Coroutines)
  • 并发控制(ConcurrencyControl)
    • 锁(Lock)
    • 锁与事务(Atomic & Transaction)
    • 数据一致性(Consistency)
  • 异步模式(AsynchronousPattern)
    • 回调(Callback)
    • Promise / Future /Defer
    • Generator
    • Async / Await
系统调用(System)
响应式编程(Reactive)
  • RxExtension
  • Actor
  • 流逝 API(StreamAPI)

工程实践(Engineering Practices)

样式指南(StyleGuide)

  • 代码风格与约定(CodeStyle)
    • 命名约定(NamingConventions)
    • 文档与注释(Documentation/Comments)
  • 项目/模块架构(Architecture)
  • 语法检查(Lint)

设计模式(DesignPattern)

  • SOLID
  • Observable

性能优化&代码优化(Performance & CodeEfficiency)

测试与发布(Test & Release)

调试(Debug)
Test(测试)
  • 断言(Assert)
  • Mock & Stub
  • TestRunner
发布(Release)
日志(Log)

进阶(Advanced)

泛型编程(Generics)

元编程(Meta Programming)

反射与代理(Reflection & Proxy)
代码生成(Code Generation)
依赖注入/控制反转(DI/IOP)

函数式编程(Functional Programming)

响应式编程(Reactive Programming)

EventStream
TFRP
RxExtension
Actor

内存管理(Memory Management)

内存结构(Memory Structure)
内存分配(Memory Allocation)
垃圾回收(Garbage Collection)

数据结构与算法(Algo Data Structure)