很多好的编程做法都能减轻你的大脑灰质细胞(指脑力)的负担。

  • 将系统“分解”,是为了使之易于理解(“设计的层次”)。
  • 进行审查、评审和测试正是为了减少人为失误。如果你从不犯错,就无须复审自己的软件。但要知道,人的智力是有限的,所以应和他人沟通,来提高软件质量。
  • 将子程序编写得短小,以减轻大脑负荷。
  • 基于问题而不是低层实现细节来编程,从而减少工作量。
  • 通过各种各样的规范,将思路从相对繁琐的编程事务中解放出来。

编程生涯成熟的部分标志就是发展出一种不屈不挠的诚实感。通常表现为以下几个方面:

  • 不是高手时不假装是高手。
  • 乐于承认错误。
  • 力图理解编译器的警告,而非弃之不理。
  • 透彻理解自己的程序,而不要只是编译看看能否运行。
  • 提供实际的状况报告。
  • 提供现实的进度方案,在上司面前坚持自己的意见。

如果你还没有对某个程序花费至少一个月的时间一一一天工作16小时,其余8小时也睡得不安稳,老是梦到它,为解决“最后错误”连熬几夜一一尔就算没有编过真正复杂的程序,你也不会感受到编程中激动人心的东西。—EdwardYourdon 。这种对编程的痴迷简直是胡闹,儿乎注定会失败。彻夜编程让你感觉像是世上最好的程序员,却要花几个星期去纠正你在短暂辉煌时埋下的失误。可以热爱编程,但热情不能代替熟练的能力,请想明白什么更重要。

要点

  • 人的个性对其编程能力有直接影响
  • 最有关系的性格微:谦虚、求知欲、诚实、创造性和纪律、以及高明的偷懒
  • 程序员高手的性格与田飞无关而任何事都与个人发展相关
  • 出乎意料的是,小聪明、经验、坚持和疯狂既有助,也有害
  • 很多程序员不愿意主动吸收新知识和技术,只依靠工作是偶尔接触新的信息。如果你能抽出少量时间阅读和学习编程知识,要不了多久就能鹤立鸡群
  • 好性格与培养正确的习惯关系甚大。要成为接触的程序员,先要养成良好的习惯,其它自然输掉渠成。

《代码大全》阅读笔记-33-个人性格(personal character)的更多相关文章

  1. <<代码大全>>阅读笔记之一 使用变量的一般事项

    一.使用变量的一般事项 1.把变量引用局部化 变量应用局部化就是把变量的引用点尽可能集中在一起,这样做的目的是增加代码的可读性 衡量不同引用点靠近程度的一种方法是计算该变量的跨度(span) 示例 a ...

  2. <<代码大全>>阅读笔记之二 变量名的力量

    1.变量命名的注意事项 1)可理解性 变量要望文知义,看到这个变量不用看其他的代码就知道这个变量表示什么意思 好的变量命:currentDate, heartRate 糟糕的变量名:newButton ...

  3. 代码大全读书笔记 Part 1

    简单的看了前言,印象最深的还是这本书崇尚"绝不注水"的原则.现实生活中,不仅仅有注水牛肉,瘦肉精的猪肉,很多书籍也是东拼西凑来的内容,不注水的厚书,是十分令人期待的. 第一章:欢迎 ...

  4. 阅读xtrabackup代码的一点笔记

    xtrabackup binary最重要的两个过程是backup和prepare,对应的函数分别是xtrabackup_backup_func()和xtrabackup_prepare_func(), ...

  5. 《代码大全2》读书笔记 Week8

    这一周博主阅读了<代码大全2>第11章至第13章,第三部分——"变量"就结束了,第四部分作者将转入语句的讨论. 第十一章作者详细阐述了变量名的有效命名规则,第十二和十三 ...

  6. 《代码大全2》读书笔记 week 7

    博主终于继续更<代码大全2>了 (*´・ω・`)⊃,课上老师一再强调读书笔记要写出自己的心得不能简单摘抄,所以我现在基本上只会写一下自己在阅读过程中印象深刻或者有发散思考的地方,字数可能 ...

  7. Linux协议栈代码阅读笔记(二)网络接口的配置

    Linux协议栈代码阅读笔记(二)网络接口的配置 (基于linux-2.6.11) (一)用户态通过C库函数ioctl进行网络接口的配置 例如,知名的ifconfig程序,就是通过C库函数sys_io ...

  8. [置顶] Linux协议栈代码阅读笔记(一)

    Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int p ...

  9. [置顶] Linux协议栈代码阅读笔记(二)网络接口的配置

    Linux协议栈代码阅读笔记(二)网络接口的配置 (基于linux-2.6.11) (一)用户态通过C库函数ioctl进行网络接口的配置 例如,知名的ifconfig程序,就是通过C库函数sys_io ...

随机推荐

  1. css box-shadow添加阴影

    基础说明:     外阴影:box-shadow: X轴  Y轴  Rpx  color;     属性说明(顺序依次对应): 阴影的X轴(可以使用负值)    阴影的Y轴(可以使用负值)    阴影 ...

  2. GCT之数学公式(代数部分)

    一.代数部分: 1.复数 2.一元二次方程   3.数列 4.排列组合

  3. Allure Report使用

    https://blog.csdn.net/liuchunming033/article/details/79624474#commentBox https://blog.csdn.net/lihua ...

  4. 移动端网页使用flexible.js加入百度联盟广告样式不一致问题解决

    flexible.js是淘宝推出的一款移动端手机自适应的库,源码内容很简洁,当网页使用了该库之后,页面会在head中加入对应的页面响应式的meta标签. 当使用flexible.js的时候,引入百度联 ...

  5. php5.4安装fileinfo扩展

    Fileinfo 扩展是libmagic库的一个封装,可以用来获得文件的一些信息,如MIME类型 安装php_fileinfo扩展 1.windows 用phpinfo()查看php版本 下载 选择合 ...

  6. BarTender条码检验位类型知识讲解

    检验位类型指定BarTender使用哪一种算法来计算符号的附加检验位.使用“BarTender检验位类型”选项可以从您的符号所支持的检验位类型中选择一种检验位类型.下面,小编就给大家分享设置检验位类型 ...

  7. 元素随屏幕滚动到顶部固定js效果

    网站中常见这种效果,某个广告或详情页切换tab,当屏幕向下移动时,该元素会停留在浏览器最顶部,下面ecshop模板中心教您实现js代码: 案例图: 1.首先在页面上找到该元素  加上 id =&quo ...

  8. eclipse 生成webservice 客户端

    一.eclipse 自动生成的web客户端代码 调用客户端

  9. python 使用模板模式和工厂模式的混合设计开发各种邮件客户端发送邮件

    1.使用模板模式和工厂模式的混合设计开发各种邮件客户端发送邮件. 2.模板模式的目的:能保证快速开发各种邮箱客户端,子类只需要重写模板类邮箱的抽象方法即可.之后再开发任何邮箱就只要加一个类,写3行代码 ...

  10. ubuntu alsa2

    ALSA是Advanced Linux Sound Architecture简称.它包含一组kernel 驱动,一个应用编程接口(API)库以及一组工具函数.本文中,我们会向读者展示ALSA项目和组成 ...