《代码大全》阅读笔记-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 ...
随机推荐
- appium的xpath定位问题及常用方法
关于类似的帖子好像很多,但是没有找到具体能帮我解决问题的办法.还是自己深究了好久才基本知道app上面的xpath定位和web上的不同点: 先放一个图: A,先说说不用xpath的场景,一般是用于存在i ...
- 有关maven不能加载ojdbc14.jar解决方法
首先下载ojdbc14-10.2.0.4.0.jar这个包,然后在cmd下输入以下 mvn install:install-file -DgroupId=com.oracle -DartifactId ...
- Java编程思想学习笔记——初始化与清理(二)
成员初始化 Java尽力保证:所有变量在使用前都能得到适当的初始化. 方法的局部变量:未初始化,编译错误. void f(){ int i; // System.out.println(i);//编译 ...
- python的redis简单使用
安装的Python版本 3.6.1 redis安装的2.8 安装redis模块 pip install redis 简单使用 redis-test.py import redis r=redis.Re ...
- nginx配置http协议和tcp协议配置文件案例
注意 nginx 1.9版本之后才支持 tcp #user nobody;worker_processes 1; #error_log logs/error.log;#error_log logs/e ...
- python Thread对象的setDaemon(True)的作用。
1.如果主线程是永远都不会结束的,那设置一个线程为守护线程是没必要的,设不设置都一样. 2.什么时候需要设置为守护线程?如果希望子线程一直运行,可以把子线程的代码写在while True里面一直循环, ...
- Present ViewController Modally (转)
一.主要用途 弹出模态ViewController是IOS变成中很有用的一个技术,UIKit提供的一些专门用于模态显示的ViewController,如UIImagePickerController等 ...
- TIMEOUT HANDLING WITH HTTPCLIENT
https://www.thomaslevesque.com/2018/02/25/better-timeout-handling-with-httpclient/ The problem If yo ...
- python关键字与标识符
编程语言众多,但每种语言都有相应的关键字,Python 也不例外,它自带了一个 keyword 模块,用于检测关键字. 关键字列表 进入 Python 交互模式,获取关键字列表: >>&g ...
- iOS开发-编译出错 duplicate symbols for architecture x86_64
今天对原来项目文件进行重新整理,根据文件内容进行分类,结果复制粘贴时没注意把一个文件复制了两遍 编译的时候就出现Duplicate Symbol Error 在网上搜素了一圈发现也有人遇到过这个问题, ...