《代码大全》阅读笔记-33-个人性格(personal character)
很多好的编程做法都能减轻你的大脑灰质细胞(指脑力)的负担。
- 将系统“分解”,是为了使之易于理解(“设计的层次”)。
- 进行审查、评审和测试正是为了减少人为失误。如果你从不犯错,就无须复审自己的软件。但要知道,人的智力是有限的,所以应和他人沟通,来提高软件质量。
- 将子程序编写得短小,以减轻大脑负荷。
- 基于问题而不是低层实现细节来编程,从而减少工作量。
- 通过各种各样的规范,将思路从相对繁琐的编程事务中解放出来。
编程生涯成熟的部分标志就是发展出一种不屈不挠的诚实感。通常表现为以下几个方面:
- 不是高手时不假装是高手。
- 乐于承认错误。
- 力图理解编译器的警告,而非弃之不理。
- 透彻理解自己的程序,而不要只是编译看看能否运行。
- 提供实际的状况报告。
- 提供现实的进度方案,在上司面前坚持自己的意见。
如果你还没有对某个程序花费至少一个月的时间一一一天工作16小时,其余8小时也睡得不安稳,老是梦到它,为解决“最后错误”连熬几夜一一尔就算没有编过真正复杂的程序,你也不会感受到编程中激动人心的东西。—EdwardYourdon 。这种对编程的痴迷简直是胡闹,儿乎注定会失败。彻夜编程让你感觉像是世上最好的程序员,却要花几个星期去纠正你在短暂辉煌时埋下的失误。可以热爱编程,但热情不能代替熟练的能力,请想明白什么更重要。
要点
- 人的个性对其编程能力有直接影响
- 最有关系的性格微:谦虚、求知欲、诚实、创造性和纪律、以及高明的偷懒
- 程序员高手的性格与田飞无关而任何事都与个人发展相关
- 出乎意料的是,小聪明、经验、坚持和疯狂既有助,也有害
- 很多程序员不愿意主动吸收新知识和技术,只依靠工作是偶尔接触新的信息。如果你能抽出少量时间阅读和学习编程知识,要不了多久就能鹤立鸡群
- 好性格与培养正确的习惯关系甚大。要成为接触的程序员,先要养成良好的习惯,其它自然输掉渠成。
《代码大全》阅读笔记-33-个人性格(personal character)的更多相关文章
- <<代码大全>>阅读笔记之一 使用变量的一般事项
一.使用变量的一般事项 1.把变量引用局部化 变量应用局部化就是把变量的引用点尽可能集中在一起,这样做的目的是增加代码的可读性 衡量不同引用点靠近程度的一种方法是计算该变量的跨度(span) 示例 a ...
- <<代码大全>>阅读笔记之二 变量名的力量
1.变量命名的注意事项 1)可理解性 变量要望文知义,看到这个变量不用看其他的代码就知道这个变量表示什么意思 好的变量命:currentDate, heartRate 糟糕的变量名:newButton ...
- 代码大全读书笔记 Part 1
简单的看了前言,印象最深的还是这本书崇尚"绝不注水"的原则.现实生活中,不仅仅有注水牛肉,瘦肉精的猪肉,很多书籍也是东拼西凑来的内容,不注水的厚书,是十分令人期待的. 第一章:欢迎 ...
- 阅读xtrabackup代码的一点笔记
xtrabackup binary最重要的两个过程是backup和prepare,对应的函数分别是xtrabackup_backup_func()和xtrabackup_prepare_func(), ...
- 《代码大全2》读书笔记 Week8
这一周博主阅读了<代码大全2>第11章至第13章,第三部分——"变量"就结束了,第四部分作者将转入语句的讨论. 第十一章作者详细阐述了变量名的有效命名规则,第十二和十三 ...
- 《代码大全2》读书笔记 week 7
博主终于继续更<代码大全2>了 (*´・ω・`)⊃,课上老师一再强调读书笔记要写出自己的心得不能简单摘抄,所以我现在基本上只会写一下自己在阅读过程中印象深刻或者有发散思考的地方,字数可能 ...
- Linux协议栈代码阅读笔记(二)网络接口的配置
Linux协议栈代码阅读笔记(二)网络接口的配置 (基于linux-2.6.11) (一)用户态通过C库函数ioctl进行网络接口的配置 例如,知名的ifconfig程序,就是通过C库函数sys_io ...
- [置顶] Linux协议栈代码阅读笔记(一)
Linux协议栈代码阅读笔记(一) (基于linux-2.6.21.7) (一)用户态通过诸如下面的C库函数访问协议栈服务 int socket(int domain, int type, int p ...
- [置顶] Linux协议栈代码阅读笔记(二)网络接口的配置
Linux协议栈代码阅读笔记(二)网络接口的配置 (基于linux-2.6.11) (一)用户态通过C库函数ioctl进行网络接口的配置 例如,知名的ifconfig程序,就是通过C库函数sys_io ...
随机推荐
- Oracle 一个中文汉字 占用几个字节,由Oracle中字符集编码决定
Oracle 一个中文汉字 占用几个字节,要根据Oracle中字符集编码决定 查看oracle server端字符集 select userenv('language') from dual; 如果显 ...
- SharePoint PowerShell使用Export-SPWeb和Import-SPWeb指令来导出和导入网站
导出网站,例如: Export-SPWeb -Identity http://win2012sp2013:1000/Hopewell_Portal/ -Path "C:\KenmuTemp\ ...
- Ubuntu下使用dialog制作菜单执行简单脚本
新建test5 #!/bin/bash #using select in the menu temp=$(mktemp -t test.XXXXXX) temp2=$(mktemp -t test2. ...
- nodejs的package.json
package.json文件会描述这个NPM包的所有相关信息,包括作者.简介.包依赖.构建等信息,格式是严格的JSON格式 在E:/nodejs/mychat下 执行,npm init 输入yes,就 ...
- 中企ITIL需软落地
IT技术的发展对现代企业产生了深远的影响.企业信息化建设越深入,信息系统的规模越大,业务对IT系统的依赖性也越大,由此对IT服务的要求越高,如何 对繁多的IT技术进行有效的管理,最大程度地利用企业现有 ...
- linux ss命令使用详解
ss是Socket Statistics的缩写.顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信 ...
- ios开发之--armv7,armv7s,arm64,i386,x86_64详解
有时候在运行的时候,经常出现诸如i386的错误,最新一些可能会出现 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch ...
- Python 爬虫系列:糗事百科最热段子
1.获取糗事百科url http://www.qiushibaike.com/hot/page/2/ 末尾2指第2页 2.分析页面,找到段子部分的位置, 需要一点CSS和HTML的知识 3.编写 ...
- 打破基于OpenResty的WEB安全防护(CVE-2018-9230)
原文首发于安全客,原文链接:https://www.anquanke.com/post/id/103771 0x00 前言 OpenResty® 是一个基于 Nginx 与 Lua 的高性能 We ...
- NFS 配置文件
NFS 配置文件是 /etc/exports,内容如下: [root@localhost ~]# cat /etc/exports /data 192.168.216.129/32(rw,sync,a ...