1.书籍信息

封面 image.png
书名 《高效能程序员的修炼(异步图书出品)》
作者 Jeff Atwood
状态 已读完
简介 《高效能程序员的修炼》是Coding Horror博客中精华文章的集合。全书分为12章,涉及迈入职业门槛、高效能编程、应聘和招聘、团队协作、高效工作环境、用户体验、安全问题、测试、社区管理、营销广告、人生思考等话题。作者选取的话题,无一不是程序员职业生涯中的痛点。其中,“程序员的八种境界”、“程序员的《权利法案》”、“结交混世魔猴”等文章早已脍炙人口,在程序员圈子里广为流传。  《高效能程序员的修炼》的写作风格风趣幽默,且充满理解和关怀,适合从新手到老手的各个阶段的程序员阅读,也适合即将成为程序员的计算机和相关专业的学生阅读。《高效能程序员的修炼》能够帮助读者更多地关注程序员职业生涯中的人性和人文因素,成长为真正的高效能的程序员。
资源

2.书摘

这本书是 Coding Horror博客的精华文章合集
记录一下精华之处
我决不提倡为了学编程儿学编程,我鼓励的是毫无保留的追求你的快乐

程序员的八种境界

  • 不朽的离开人世,代码依旧活着 在计算机博物馆里
  • 成功的广泛知名度,运营不错的公司
  • 胜任的有工作能力
  • 普通的应付一般编程工作
  • 业余的热衷编码,有想法、有激情(创意)
  • 低调的仅仅是份工作
  • 烂程序员技能匮乏,bug百出

初读感觉挺有意思的
ps:看看自己,默默扭头

关于写作

  1. 每个人都应该大量写作,不管是写博客、写书、回复、写电子邮件,这种书面沟通有助于理清我们的思路。当你需要向其他人详细解释某样东西的时候,你会惊讶的发现你自己有多无知,于是,你不得不开始一个全新的探索过程。

极为认同这一段话

零散几句

  • 传统的“萝卜加大棒”的激励只对那些重复的、机械化的任务有效。
  • 一路向前冲,也要快速迭代
  • 只加必须加的注释,学会读源码、向橡皮鸭求助
  • 提问的方式,提问本身也是一种思考,不要浪费别人的时间
  • 创意要有执行力才有价值
  • 电梯测试:向客户解释清楚自己作为程序员在做什么
  • 性能制胜:雅虎十二条
  • 多显示器提高生产力

注释多了其实也会头大emm,写那种逻辑清楚,一看代码就知道是干嘛的,那种注释是极为自然的(代码就相当于注释)
读源码特别有助于理解现在所学的东西(当然,一开始学别玩那么多,先会用,再精通)
向橡皮鸭求助:在你问别人问题前,先假设面前有一只橡皮鸭,向它提问,讲出来。
(问橡皮鸭问题时,说不定就有思路,就可以自己解决了)
emm,挺有意思,有效果
提问真的不要太浪费别人时间(会烦死你的)
电梯测试,这个就是向别人展示你干了什么,干了活得会说,要不然别人当你白干。
多显示器,表示很有冲动

雅虎十二条

1.减少http请求次数
图片方面:雪碧图,应用场景:合并背景图片和小图标;database64—转换图片
合并js css文件
2.样式放在头上
原因:样式放在头上,浏览器解析结构时就可以对页面进行渲染了,而不需要等到结构解析完,再去用css渲染页面了,先出现光秃秃的结构页面在绚丽起来
3.脚本文件放在底部
浏览器会阻塞加载直到样式文件加载完毕,因此脚本文件被放在下面,否则脚本后面的文件加载将被阻塞,
阻塞并行下载数量,一般浏览器的js并行下载数量为两个,同时间不能下载更多,—(但图片可以超过两个并行下载)
4.避免css 表达式
不仅页面显示和resize时计算表达式,而且当页面滚屏,甚至当鼠标在页面上移动时都会重新计算表达式
5.js和css从外部引入
文件从外部引入会加快页面的显示速度,因为外部文件会被缓存,在页面中虽然减少了http次数,但增大了页面大小
6.最小化js代码
两个流行的工具是#JSMin和YUI Compressor。混淆是最小化于源码的备选方式
7.避免重定向
注意:重定向会增加http请求的次数,但必要的重定向又可以提高用户体验
避免重定向的方式
1.在定义链接地址href属性时,尽量使用全的,直接的链接地址,如:
-使用www.cnblogs.com 而不是cnblogs.com
-使用cn.bing.com 而不是bing.com
-使用www.google.com.hk 而不是google.com
-使用www.mysite.com/products/ 而不是 www.mysite.com/products
2、在使用Response.Redirect的时候,设置第二个参数为false
-考虑是否可用Server.Execute代替
-考虑Respone.RedirectPermanent
3、如果涉及到从测试环境到生产环境的迁移,建议通过DNS中的CNAME的机制来定义别名,而不是强制地重定向来实现 –待理解
8.删除重复的脚本文件
合理封装js代码,减少不必要的http请求,使用模版系统建立脚本管理模块
9.缓存ajax10.使用CDN(Content Delivery Network,内容分发网络)11.增加Expires Header12.减少DNS查询次数
注意:减少主机域名可减少DNS查询次数,但可能会造成并行下载数的减少,一个可行这种的办法是把资源部署到2-4个不同的主机名上
DNS解析域名时浏览器不会进行下载
来自这里:https://blog.csdn.net/qq_35047721/article/details/68923425

3.读后感 & 点评

是一本好书,值得一读

4.相关资料