gitbook/代码精进之路/README.md
2022-09-03 22:05:03 +08:00

98 lines
5.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 代码精进之路
## 你将获得
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. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。