高效能程序员的修炼

《高效能程序员的修炼》汇集了Coding Horror博客的精华,探讨程序员的不同境界,强调写作对理清思路的重要性。书中提到,每个人都应大量写作,无论是博客、邮件还是代码注释,这能促进自我提升。此外,书中的"雅虎十二条"提供了优化性能的建议,如减少HTTP请求、缓存利用等。同时,提倡避免浪费他人时间的高效提问技巧,以及运用"橡皮鸭调试法"解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

高效能程序员的修炼

这本书是 Coding Horror博客的精华文章合集

记录一下精华之处

我决不提倡为了学编程儿学编程,我鼓励的是毫无保留的追求你的快乐

程序员的八种境界

  • 不朽的

    离开人世,代码依旧活着 在计算机博物馆里

  • 成功的

    广泛知名度,运营不错的公司

  • 胜任的

    有工作能力

  • 普通的

    应付一般编程工作

  • 业余的

    热衷编码,有想法、有激情(创意)

  • 低调的

    仅仅是份工作

  • 烂程序员

    技能匮乏,bug百出


初读感觉挺有意思的

ps:看看自己,默默扭头

关于写作

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


极为认同这一段话

零散几句

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

注释多了其实也会头大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.缓存ajax
10.使用CDN(Content Delivery Network,内容分发网络)
11.增加Expires Header
12.减少DNS查询次数

注意:减少主机域名可减少DNS查询次数,但可能会造成并行下载数的减少,一个可行这种的办法是把资源部署到2-4个不同的主机名上
DNS解析域名时浏览器不会进行下载

来自这里:https://blog.youkuaiyun.com/qq_35047721/article/details/68923425

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值