98 lines
5.3 KiB
Markdown
98 lines
5.3 KiB
Markdown
# 代码精进之路
|
||
|
||
## 你将获得
|
||
|
||
1. 编程实战中的避坑清单;
|
||
2. 高效规范的代码编写方法;
|
||
3. 消除代码中的安全隐患;
|
||
4. 为团队交付最佳性能的代码。
|
||
|
||
|
||
|
||
## 讲师介绍
|
||
|
||
范学雷,前 Oracle 首席软件工程师,Java SE 安全组成员,OpenJDK 评审成员。范学雷是 Java SE 安全的主要推动者和贡献者之一,也是 Java 语言平台的设计实现者之一。
|
||
|
||
|
||
|
||
## 课程介绍
|
||
|
||
2014年2月,安全研究人员爆出苹果公司旗下的iOS和OS X操作系统出现了严重的安全漏洞,黑客可以利用这一漏洞轻松获取用户的数据。
|
||
|
||
```
|
||
if ((error = doSomething()) != 0)
|
||
goto fail;
|
||
goto fail;
|
||
if ((error= doMore()) != 0)
|
||
goto fail;
|
||
fail:
|
||
return error;
|
||
|
||
```
|
||
|
||
其实这个漏洞产生的原因仅仅是因为出现了一行多余的代码,导致后面的其他代码“失效”,这一低级错误也让所有的安全人员大跌眼镜。你可能会说,这开发人员真是太粗心了,是不是他复制代码的时候,多复制了一行,然后忘记删除了?
|
||
|
||
可能是这个原因,但问题的源头肯定不是粗心。有专家在看完了代码文件之后,发现相关的bug代码没有正确使用缩进,也没有正确使用括号,并且其中的空格、制表符和代码注释也都不统一。
|
||
|
||
你看,苹果公司的这个案例给我们上了教科书般的一课,深刻地告诉我们编程的基础能力是有多么重要。一个小小的疏忽,可能就会造成严重的后果。
|
||
|
||
编写安全、高效、易读和可扩展的代码,是每一个程序员的毕生追求。那到底怎么才能实现这个目标呢?
|
||
|
||
为此,我们邀请到了范学雷老师,他将带你开启一段代码精进之旅。
|
||
|
||
范学雷,Oracle首席软件工程师,Java SE安全组成员,OpenJDK评审成员。范学雷是Java SE安全的主要推动者和贡献者之一,也是Java语言平台的设计实现者之一。
|
||
|
||
在专栏里,他将带着自己20多年的编程心得和丰富的代码评审经验,围绕代码的规范、经济和安全三个方面展开讲解,选取实际工作中最常遇到的40多个经典细节,通过多种语言来描述,帮你纠正错误的编码认知,带你挖掘实际工作场景中的编码隐患,教给你最具体实用的优化方案,一起培养良好的编码习惯,写出优秀的代码。
|
||
|
||
# 专栏模块
|
||
|
||
专栏分为4个模块。
|
||
|
||
**认知篇**
|
||
|
||
什么样的代码是优秀的代码?如何才能写出优秀的代码?优秀的软件工程师什么样?这一模块将为你清楚介绍优秀代码的准则和达成路径,其中的核心认知将贯穿每一个程序员的编程生涯。
|
||
|
||
**“规范”修炼篇**
|
||
|
||
怎么给你的代码起好名字?写好注释很容易吗?异常处理都有哪些陷阱?这一模块将带你讨论代码规范的十个关键维度,结合正反面案例,手把手教你编写规范的代码。
|
||
|
||
**“经济”修炼篇**
|
||
|
||
Java垃圾管理器可以提高多少效率?列表查询速度可以提高多少?这些问题都能通过编写“经济”的代码搞定。这一模块将带你深入十余个编码细节,教你写出维护性高、兼容性好的高质量代码。
|
||
|
||
**“安全”修炼篇**
|
||
|
||
代码安全是老生常谈的问题,一个疏忽的小细节就有可能造成一个大漏洞。这一模块将从案例入手,教你规避编码过程中常见却又容易疏忽的安全隐患,编写“牢固”的代码。
|
||
|
||
|
||
|
||
## 课程目录
|
||
|
||
![](https://static001.geekbang.org/resource/image/56/f6/56a1b164ece4b2c70ee4e49521eb06f6.jpg)
|
||
|
||
|
||
|
||
## 特别放送
|
||
|
||
#### 免费领取福利
|
||
|
||
[![](https://static001.geekbang.org/resource/image/69/dc/69c52d08278a2164dc5b061ba342a5dc.jpg?wh=960x301)](https://time.geekbang.org/article/427012)
|
||
|
||
|
||
|
||
#### 限时活动推荐
|
||
|
||
[![](https://static001.geekbang.org/resource/image/67/a0/6720f5d50b4b38abbf867facdef728a0.png?wh=1035x360)](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?dc_ps=2913145716543073286.200001)
|
||
|
||
|
||
|
||
## 订阅须知
|
||
|
||
1. 订阅成功后,推荐通过“极客时间”App端、Web端学习。
|
||
2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。
|
||
3. 订阅后分享海报,每邀一位好友订阅有现金返现。
|
||
4. 戳此[先充值再购课更划算](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?scan=1&activity=none&from=kdt&qr=directgoods_1541158976&shopAutoEnter=1),还有最新课表、超值赠品福利。
|
||
5. 企业采购推荐使用“[极客时间企业版](https://b.geekbang.org/?utm_source=geektime&utm_medium=columnintro&utm_campaign=newregister&gk_source=2021020901_gkcolumnintro_newregister)”便捷安排员工学习计划,掌握团队学习仪表盘。
|
||
6. 戳此[申请学生认证](https://promo.geekbang.org/activity/student-certificate?utm_source=geektime&utm_medium=caidanlan1),订阅课程享受原价5折优惠。
|
||
7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。
|