`
tan_bw
  • 浏览: 20483 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
文章分类
社区版块
存档分类
最新评论

《高效能程序员的修炼》读书笔记(三)——开发技术和从业习惯

阅读更多

开发技术:

 

1.代码是我们的敌人。如果你不得不写代码,你也必须从简洁开始(简单的东西才是最强大的,简单的东西不容易出错,容易维护,容易学习)

 

2.代码已经告诉我们程序是怎样工作的,注释告诉我的是程序为什么这样工作(前提是代码够简洁,最优秀的代码应该很容易看懂,所以不需要额外的注释)

 

3.不管文档上面怎么说,源代码才是最终的事实(文档也会犯错,会跟不上代码,如果一个问题一直难以解决,可以尝试从更底层的地方去入手)

 

4.80%~90%的用户终端响应时间都花在了下载网页的所有组件上:图片、样式、脚本、flash动画等(因为网络地域性的差别,很多时间被用在了数据传输上,Yahoo的网站优化经验里面也有这一条)

 

5.性能优化:

    5.1针对匿名用户和注册用户的区别优化 (展示不同的信息项)

    5.2使用网络性能分析工具 

    5.3CDN加速(廉价、成熟)

 

 6.程序员的基本功:面向对象,数据结构和算法,位与字节,脚本与正则(基础不牢,其余免谈)

 

 7.系统安全:

    7.1 使用HTTPS默认为已登录的用户服务

    7.2限制每个用户的登录尝试次数是安全领域的101(防止暴力破解)

    7.3如果你想用哈希来保密你的什么东西,只能考虑选择bcrypt或PBKDF2(MD5和DES都是可破解的了)

    7.4互联网通行证比创建单独的用户名密码更安全 (依托大型网站提供的认证服务,保护自己的个人资料不被泄露)

 

从业习惯:

 

1.开始提出问题实际上促使我自己诊断自己的问题(把问题阐释清楚等于解决了问题的一半)

 

2.软件开发者最擅长的就是学习。工作经验年数和编程技能之间没有必然的联系。在任何特定的技术领域工作6~12个月后,你要么是精通了,要么就这样一直混下去了。  (终身学习,三岁看大,五岁看老)

 

3.程序员的《权利法案》:

    3.1双显示器、快速的电脑、优秀的键盘和鼠标、 舒适的桌椅、快速的网络、安静的工作环境 (每天要用的必需品必须质量有保证)

    3.2正确的坐姿(正确的坐姿可以坐得更久)

    3.3拥有更多的显示空间将使你的工作更有效率 (较少窗口的滚动,切换,可以更好地集中注意力)

    3.4你的显示屏亮度不应该比灯光下的书本亮度更高 。使用背景光更合适。 (减少对眼睛的刺激)

 

4.把解决方案有效地解释给团队的其他人听,跟想出这个解决方案一样重要 (在对别人阐释自己的方案时可以发现其中更多的不足,很多事情并不是我们想象的那样)

 

5. 每件事情发生的背后总是有原因的(不求甚解的解决方案后患无穷)

 

6.如果你发现自己将要使用专业的文字,或者使用专业的留念照片,请三思:这样的“专业精神” 到底有什么价值?它有助于你沟通吗?或者它根本就是一个障碍。如果流于俗套,请立即改变。(表达方式应该恰当地面向受众)

 

以上摘自《高效能程序员的修炼》一书,括号里面是博主自己的理解

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics