大师兄
计算机基础
编译原理之美
编译原理实战
深入浅出计算机组成原理
详解http
计算机网络通关29讲
网络排查案例课
linux操作系统
linux内核技术实战课
linux性能优化实战
程序员数学基础
趣谈网络协议
操作系统实战
软件工程之美
sql必知必会
操作系统实战45讲
网络编程实战
趣谈linux操作系统
算法
常用算法25讲
数据结构与算法之美
业务开发算法50讲
动态规划面试宝典
前端开发
正则表达式入门
杂谈
代码之丑
代码精进之路
数据分析思维课
朱涛kotlin编程第一课
重学线性代数
大师兄
计算机基础
编译原理之美
编译原理实战
深入浅出计算机组成原理
详解http
计算机网络通关29讲
网络排查案例课
linux操作系统
linux内核技术实战课
linux性能优化实战
程序员数学基础
趣谈网络协议
操作系统实战
软件工程之美
sql必知必会
操作系统实战45讲
网络编程实战
趣谈linux操作系统
算法
常用算法25讲
数据结构与算法之美
业务开发算法50讲
动态规划面试宝典
前端开发
正则表达式入门
杂谈
代码之丑
代码精进之路
数据分析思维课
朱涛kotlin编程第一课
重学线性代数
代码之丑
01.开篇词
开篇词 | 这一次,我们从“丑”代码出发
课前热身 | 这些需求给到你,你会怎么写代码?
02.13类典型坏味道
01 | 缺乏业务含义的命名:如何精准命名?
02 | 乱用英语:站在中国人的视角来看英文命名
03 | 重复代码:简单需求到处修改,怎么办?
04 | 长函数:为什么你总是不可避免地写出长函数?
05 | 大类:如何避免写出难以理解的大类?
06 | 长参数列表:如何处理不同类型的长参数?
07 | 滥用控制语句:出现控制结构,多半是错误的提示
08 | 缺乏封装:如何应对火车代码和基本类型偏执问题?
09 | 可变的数据:不要让你的代码“失控”
10 | 变量声明与赋值分离:普通的变量声明,怎么也有坏味道?
11 | 依赖混乱:你可能还没发现问题,代码就已经无法挽救了
12 | 不一致的代码:为什么你的代码总被吐槽难懂?
13 | 落后的代码风格:使用“新”的语言特性和程序库升级你的代码
03.延伸阅读
14 | 多久进行一次代码评审最合适?
15 | 新需求破坏了代码,怎么办?
16 | 熊节:什么代码应该被重构?
17 | 课前作业点评:发现“你”代码里的坏味道
04.结束语
结束语 | 写代码是一件可以一生精进的事
结课测试|这些代码坏味道的知识你都掌握了吗?
第四季回归 | 通向高质量代码之路
代码之丑