代码大全读书笔记(二)

选择编程语言

  程序员使用熟悉的编程语言生产率高于使用不熟悉的编程语言,并且高级语言比低级语言的效率要高得多,作者列出了几种高级语言的每一行代码与等效的c语言代码行数之比。比如java是2.5,而perl和python就是6.而且编程语言影响程序员的思维随处可见,作者举了个他遇到的项目,那就是一群fortran程序员去写c++,最后写出来的代码就是伪装成c++的fortran代码。  
说道表达能力,象python,perl,ruby之类的脚本语言是c或者java之类的不能比的,就像上面作者给出的统计,一行脚本语言比一行c或者java代码要完成的工作多得多,所以很多游戏都会采用脚本作为一个辅助。

编程约定 
  其实很简单,那就是变量名称,类的名称,方法名称,代码的格式,注释的规定等等等等,这些很细节的东西。程序因此也需要底层的完整性。成功编程的一个关键就是避免随意的变化。这些我觉得在项目中很重要,比如方法的名称,在我的一个项目中,那些c代码中的名称,有的是c的命名规则,有的是java的命名规则,所以这些代码给人感觉极度混乱和邋遢。

时间: 2024-08-10 17:09:04

代码大全读书笔记(二)的相关文章

代码大全读书笔记 - 开篇

说起来,<代码大全>这本书书名实在恶俗.在我推荐给展鸿的时候,他说"雾草,这名字看着就像天朝地摊那种XX全书一类的山寨书-" 是的,其实买这个书的原因就是京东买100减30,我买了10块钱的东西,凑了一下单,书到手之前还以为是代码清单,或者以前ACM模板一样的书,甚至买来的一个月里面都拿来当枕头(足足10+cm厚). 这个周末偶然的翻开,才发现,世界上竟然有如此精彩的书,而且很多东西讲的虽然是软件项目,但给了我很多引申到其他东西上面的灵感.很多地方我读到之后,都会兴奋的心跳

代码大全读书笔记

在元旦假日看完了这本书,算上目录的话差不多1000页吧,由于这本书主要讲述了思想和流程体系,至于代码结构和优化这一块, 之前有看过设计模式,所以我到也就是过了一遍,所以总体看的很快的并没有精读,至于笔记那也就记了一小部分.基本上并无特别 指出. 但我对这本书的评价还是挺高的,这本书把软件体系的方方面面都进行了总结,通过抛出问题,举出范例然后再加以正确的思路引导. 不过对我而言本书最大的收获并不是了解了软件开发体系,或是高质量的编写代码的方法,而是发现了软件体系中那些边边角角的工作 一些我们常常抱

代码大全读书笔记1---进入软件构建的世界

构建实质建设的过程,构建的过程包含计划.设计.检查工作的一些方面. 软件开发过程中的各种不同的活动: 1.定义问题(problem definition) 2.需求分析(requirements development) 3.规划构建(construction planning) 4.软件架构或高层设计(software architecture or high-level design) 5.详细设计(detailed design) 6.编码与调试(coding and debugging)

代码大全读书笔记(一)

开始读时,并没有打算读完.因为书太厚了时间也不充足,当我看过前言后,发现可以跳读,所以我就从符合我身份的一章--11章读起 变量名的力量: 刚开始学C语言时,什么都不了解,所以对代码的细节养成也不是很好,写代码写变量名总是跟着感觉走,因为都是作业形式,所以起什么变量名都无所谓,下次也不会再看曾经写过的代码了.然而,当我的学习逐渐深入时,写的代码越来越长(当然也不会太长),记忆变量的含义就产生了困难,但是由于年轻,记忆力好,所以记得住就过去了.随着时间的流逝,总有一天在新的项目中发现其中的小部分很

代码大全读书笔记2---用隐喻来充分理解软件开发

借助隐喻可以更加深刻地理解软件开发的过程.通过把不太理解的东西和一些你较为理解.且十分类似的东西做比较,这样可以对不太理解的东西产生更深刻的理解,这种使用隐喻的方式叫做建模. 隐喻的威力在于其生动性,能够让你把握整个概念,暗示各种属性.关系以及需要查证的部分.但是过度引申时,模型也会误导人们. 软件隐喻的作用更像是启示,而不是算法,告诉你如何去寻找答案.算法是一套定义明确的指令使你完成某个特定的任务,算法是可预测的.确定的.不易变化的. 算法与启发式方法之间的区别就在于其距离最终解决办法的间接程

代码大全学习笔记(二):第4-5章

1. 主要的构建实践 2. 软件构建中的设计是一个确定取舍和调整顺序的过程,处处都有tradeoff 3. 软件的首要技术使命就是 管理复杂度 将整个系统分解为多个子系统,子系统高内聚.低耦合,尽量减少在特定时间段所面临的复杂度,从而减少脑力负担 4. 高质量设计的具体特征: (1)   最小的复杂度:简洁.易于理解 (2)   易于维护:编程规范:命名.注释等 (3)   松散耦合 高内聚:类接口合理抽象.封装.信息隐藏 低耦合:减少各组成部分之间的关联 (4)   可扩展性 (5)   可重

《梦断代码》读书笔记二

计算机科学是一门非常迷人的科学,编程做软件又是其中重要的一环,但软件制作依旧有非常多的缺陷. 关于软件制作理想已经有了很久了,人们渴望可以像摩天大厦,水坝等永久性建筑一样,实现标准化, 好像乐高积木一样,每种组件,模块,函数库都有,他们向全球提供,源代码人人都可以取得全部开源, 好像不懂芯片,但仍可以把电脑组装好一样,人们站在前人的肩膀上,软件项目从此规范而简单. 但事实并非如此,软件界有太多势不两立的标准,举目皆是,随处可见,计算机系统的每一点差异,用 什么芯片,什么操作系统,什么版本,什么编

代码的未来读书笔记&lt;二&gt;

代码的未来读书笔记<二> 3.1语言的设计 对Ruby JavaScript Java Go 从服务端客户端以及静态动态这2个角度进行了对比. 这四种语言由于不同的设计方针,产生了不同的设计风格. Header 客户端 服务端 动态 Html5 Ruby 静态 Java Go 静态动态 静态:无需实际运行,仅根据程序代码就能确定结果. 动态:只有到了运行时才能确定结果.不过无论任何程序,或多或少都包含的动态的特性. 动态运行模式 运行中的程序能识别自身,并对自身进行操作.对程序自身进行操作的编

《Programming in Lua 3》读书笔记(二十二)

日期:2014.8.6 PartⅣ The C API 26 Extending Your Application 使用Lua很重要的一点是用来做配置语言.配合主语言做一些功能的配置. 26.1 The Basics 有的时候程序需要配置一些功能信息,很多时候可能有许多别的方法比用lua做配置要更简单:如使用环境变量或者读取文件,读取文件涉及到文件的解析.如果使用Lua进行配置的话,相当于用lua文件替代了要读取的如csv.txt文件等. 使用Lua进行配置的时候,就需要使用Lua API去控制