
编程匠艺
呆萌院长
创业公司CTO iOS主架
展开
-
【读书笔记】编程匠艺 第2章
第二章 精心布局 编码的风格曾经是、现在是、将来也将继续是程序员之间信仰之争的主题之一。 编程样式极大的影响了代码的可读性,没有人愿意使用读不懂的代码。 我们的代码一般有3类读者:1. 我们自己,我们不仅需要能够读懂刚刚写下的代码,也需要在多年之后仍然能够明白它的意思;2. 编译器,关注语法,不关注样式;3. 其他人,这类人最重要,也最容易被忽视。 什么是好的样式?1. 一致;2.转载 2014-05-04 23:31:34 · 613 阅读 · 0 评论 -
【读书笔记】编程匠艺 第14章
第十四章 软件体系结构——奠定软件设计的基础 我们已经建造出很多的建筑物,其历史要远远超过我们编写软件的时间,我们现在仍然要学习掌握制作优秀的软件体系结构的要素。 体系结构视图的缺失对于软件造成的影响是很大的。这样的系统很难处理,也很难理解,其功能随机的散步在各个模块之间,它的状态糟糕到你唯一能做的事就是把它扔掉。 软件体系结构是一种顶级定义,是一种对系统的全面概览,其中刻意避免转载 2014-05-07 23:30:08 · 548 阅读 · 0 评论 -
【读书笔记】编程匠艺 第11章
第十一章 追求速度 优化是一个悬浮在软件开发上的幽灵,很多编程错误都是以效率的名义犯下的。 “优化”指改善某个事物以使它更好,对于更好,从不同方面看,有不同的理解:1. 使程序运行速度更快;2. 减少可执行文件的大小;3. 提高代码的质量;4. 提高计算结果的准确性;5. 将启动时间减到最小;6. 增加数据的吞吐量;7. 减少存储开销。 对于优化,建议如下:不要做优化。 一种错误的转载 2014-05-07 23:28:00 · 545 阅读 · 0 评论 -
【读书笔记】编程匠艺 第12章
第十二章 不安全感综合症——编写安全的程序 大多数的软件系统都是需要一定的安全水平,无论软件系统处理的是否是敏感数据。 要了解你拥有哪些重要的资源,你是否拥有攻击者可能会希望得到的非常敏感的信息或特定的能力。 为什么会有人攻击你的系统呢?因为你拥有他们想要的东西,包括: 你的处理能力。 你发送数据的能力。 你存储的私人信息。 你的权限。 你对更令他们感兴趣的远程系统的连转载 2014-05-07 23:28:37 · 547 阅读 · 0 评论 -
【读书笔记】编程匠艺 第10章
第十章 代码构建 将经过处理的高级语言转换成为可以发布的可执行程序的工作,通常称为“构建代码”。 构建代码是我们的工作中一个基本的组成部分。 许多开发人员都依赖于IDE来构建系统,但是你不能因此而不去了解构建是如何进行的。 编程语言有很多中,每一种语言都有其从源代码来构造可执行程序的过程,某些构造模型比其他模型复杂,每种模型都有自己的优势。 编程语言从构建的角度来看可以分为三类:转载 2014-05-05 21:28:45 · 516 阅读 · 0 评论 -
【读书笔记】编程匠艺 第9章
第九章 寻找缺陷 bug是构建软件时不可避免的黑暗面,是生活的一个朴素的真相。 在很多情况下,犯错误只是因为没有专注于正在做的事情,大多数bug都是粗心大意造成的。 软件的bug可以分为以下几个主要的类别: 编译失败。这是你遇到的错误类型中最好的一种,检测到缺陷所需的时间越长,修正它们的成本就越高。 运行时崩溃。 非预期的行为。这是真正难以处理的错误——你的程序并没有崩溃,转载 2014-05-05 21:27:39 · 666 阅读 · 0 评论 -
【读书笔记】编程匠艺 第8章
第八章 测试时代 不论你觉得自己是一位多么优秀的程序员,发布未经检测的软件都无异于自杀。 有太多的软件工厂不是低估了详尽测试的重要性,就是试图把测试挤到发布软件之前的最后一分钟来匆忙的完成。 测试是一种重要的代码构建技术。 在软件开发中,以下几个术语是经常被混淆的: “错误”:指某件你做错的事,它是一种特定的人类行为,会造成软件包含缺陷。 “缺陷”:指错误在软件中体现出来的转载 2014-05-05 21:25:55 · 534 阅读 · 0 评论 -
【读书笔记】编程匠艺 第7章
第七章 欲善其事,先利其器 要创造出非凡的代码,不仅需要有技艺精湛的编程高手,还要有好用的工具和灵活运用工具的能力。 你使用工具的方式可以看出你是否能称为一名真正多产的程序员,在极端的情况下,这些工具可以提供决定你的项目成功与否的简化操作,软件工厂哪不懈的前进步伐,要求你紧紧抓住任何可以帮助你编写更好的代码,以及更快和更可靠的编写代码的工具。 我们用于构建软件的工具多种多样,一般转载 2014-05-05 21:24:56 · 594 阅读 · 0 评论 -
【读书笔记】编程匠艺 第6章
第六章 人非圣贤 错误可能而且必将发生。几乎任何操作都会带来意想不到的结果,这种结果与有缺陷的程序中的bug不一样,因为你预先就知道错误会发生。 如果你不编写代码来处理这些错误情况,那么你几乎肯定最终会遇到bug;你的程序不会总按你的意愿执行。 错误产生得原因可以分为以下三种: 用户错误。一个好的程序会指出错误所在,并帮助用户来改正它。 程序员错误。由程序员引入的代码缺陷。转载 2014-05-05 21:24:17 · 526 阅读 · 0 评论 -
【读书笔记】编程匠艺 第5章
第五章 随篇注释 注释非常像意见,你可以随心所欲的做注释,但这仅仅是因为做注释并不意味着这些注释就是正确的。 注释可以将优秀的代码和糟糕的代码区分开,将粗糙复杂艰涩难懂的逻辑与清晰友好的算法区分开。但是我们不需要过分夸大注释的作用,如果你已经编写出真正优秀的代码,那么注释就像蛋糕上的糖衣。 好的注释是避免让人望而生畏代码的一种策略,注释本身并不能够让糟糕的代码变得好一些。 什么是代转载 2014-05-05 21:22:01 · 536 阅读 · 0 评论 -
【读书笔记】编程匠艺 第4章
第四章 不言自明 创建优秀的代码以为着创建良好文档化了的代码。 编写代码是一件艰苦的工作,将代码文档化更是艰苦异常。 就像代码一样,文档必须接受版本控制,你必须要确保你阅读的文档的版本和你正在处理的代码的版本保持一致。 唯一能够完整并正确的描述代码的文档就是代码本身。这并不自然而然的以为着代码本身就是最佳的描述,但是在通常的情况下,这是你能够获得的唯一文档。 编程语言是我们交流的转载 2014-05-05 21:20:32 · 528 阅读 · 0 评论 -
【读书笔记】编程匠艺 第3章
第三章 名正言顺 远古的人认为命名某个事物就是对其拥有权利。这不仅仅是简单的宣称所有权。一些人对名字的力量坚信不疑,以至于他们从不将自己的名字告诉陌生人,因为他们害怕陌生人会使用名字来伤害他。 名字所描述的内容包括:1. 身份;2. 行为;3. 识别,名字将一个事物标明为一个性质独特的实体。 我们为什么应当恰当的命名呢?因为编写源代码就是关于如何进行清晰的交流,恰当的命名意味着“了解转载 2014-05-05 21:20:03 · 519 阅读 · 0 评论 -
【读书笔记】编程匠艺 第1章
第一章 善于防守 使程序正确和使程序能用的区别:1. 编写在大多数情况下都能用的代码是很容易的,它对常规的输入集会产生常规的输出集;2. 正确的代码绝对不会崩溃,对于所有的输入集,它的输出都将是正确的;3. 并非所有正确的代码都是优秀的代码,因为有些正确的代码的逻辑可能很难理解,难以维护。 在编写代码的时候,你会很容易产生很多设想,例如程序应该如何运行、如何调用、如何输入等。我们经常有转载 2014-05-04 23:30:19 · 552 阅读 · 0 评论 -
【读书笔记】编程匠艺 第13章
第十三章 崇尚设计——如何创作出优秀的软件设计 成熟程序员的判断标准就是他或她的代码的设计质量。 一种错误的想法: 设计是一个需要在开始编写代码之前完成的阶段,这个阶段的成果就是某种形式的设计规范。其实编程本身就是一种设计活动。 编程的过程将检验初始的设计决策,并完成剩余的设计工作。编程是一种设计活动,它是一项富含创造性和艺术性的工作,而不是机械呆板的代码生成过程。 在编写代码转载 2014-05-07 23:29:40 · 533 阅读 · 0 评论