《代码大全 2 / Code Complete 2》at Google

今天在闫辉的Blog看到他采访Google中国时拍的几张照片,其中一张特别眼熟:这是Google工程师的书架,我看到一堆《代码大全(第2版)》英文版,希望没过多久都能换成中文版,呵呵。...
阅读(10424) 评论(0)

被人点名骂了一通

现在是2006年3月13日上午9:40左右,十几分钟前,china-pub.com上,《代码大全》第2版的书评中,有位“我是马甲”兄,点名骂我说“Solstice 可真有工夫,就象是一个....一样到处乱咬,看到有不合的言论,必定要凑上来,问一下,您用到了哪些了啊?你又是不程序员,大家和你没共同语言,不太想答理你。唉,偏偏自己还不知道,就象个网络警察一样。”立此存照,是以为念。...
阅读(11282) 评论(10)

如何编写高质量的代码——来自《代码大全(第2版)》的启示

如何编写高质量的代码——来自《代码大全(第2版)》的启示陈硕 编译说明:这篇文章大量文字直接取自《代码大全(第2版)》中译本。本文发表于《程序员》杂志2006年第3期(杂志上的文章去掉了参考文献和脚注,格式编排也有些小问题),转载请先获得杂志社的许可。 软件的首要技术使命是管理复杂度,计算先驱Edsger Dijkstra指出,只有在“计算(Computing)”这种职业中,人...
阅读(13825) 评论(2)

deplate(Viki) 全面定制

最近拿 deplate 重新制作了个人主页(www.chenshuo.com),其间对 deplate 0.7.3 做了不少改动,记录在这里,备查。头一次用 ruby,可能方法比较笨拙,见笑。1. 禁用符号替换。根据 deplate 手册第 9.10 节,它会自动把 ->、class Deplate::Formatter::HTML     def format_symbol(invoke...
阅读(4740) 评论(0)

小试一把 64 位 Windows 编程

环境:Windows 2003 Server x64 Edition, Visual Studio 200564-bit 的编程模型有很多种(LP64、LLP64、ILP64),Windows x64 版采用的是 LLP64 模型:int、long 都是 32-bit,void* 是 64-bit,新增数据类型 long long,也是 64-bit。我写了个 console ...
阅读(5708) 评论(4)

去掉 deplate(Viki) 生成的 html 文件行尾多余的空格。

在使用 deplate (Vim Wiki, Viki 的引擎)生成 html 页面时,它会把源文件中的换行替换为空格,这对英文文档是合适的,不过在处理中文文档时就会多出一个空格。我试过 jjgod 写的 zh-cn-autospace 模块,不知道为什么,它没有按手册中叙述地那样把“我 们”自动转换为“我们”。于是我阅读了一下 deplate 的源码(版本 0.7.3),发现只要在 elemen...
阅读(3734) 评论(0)

CC2e:《代码大全(第2版)》集萃

《代码大全(第 2 版)》是一本写得很有意思的书,既有生动的比喻,偶尔也有夸张的表达,另外作者还时不时开开玩笑,读起来一点也不枯燥。以下是从中摘录的一些有趣的话。这个版本略有删节,等书出版之后,我会扩充这里的内容。 首先为人编写程序,其次才是为机器。 傻子都会写让计算机理解的代码;而优秀程序员写的是人能看懂的代码。(Martin Fowler) 好习惯很重要,...
阅读(16047) 评论(57)

zlib 在 Visual Studio 2005 下编译失败的解决办法

最近需要读写 png 文件,按照以前的办法试验,却发现无法编译zlib 1.2.3。出错信息为:inffas32.asm(594) : error A2070: invalid instruction operands inffas32.asm(596) : error A2070: invalid instruction operands inffas32.asm(610) : error ...
阅读(6854) 评论(1)

向Word和PowerPoint插入LaTeX公式的小工具

讨论、下载请前往:http://bbs.ctex.org/forums/index.php?showtopic=31442 ,谢谢!向Word和PowerPoint插入LaTeX公式的小工具 v0.2测试版Inspired by `eqe: Linux LaTeX equation editor (http://rlehy.free.fr/) and `TexPoint - A Late...
阅读(10884) 评论(6)

《代码大全》:review与inspection

  第21章Collaborative Construction(协同构建)谈到了review和inspection,读起来很有共鸣,让我回想去过去在公司兼职的一段美好时光。  在公司里,项目的代码是共有的,对我们这些兼职学生也不例外。每天上班第一件事,就是update一下,从depot取回最新的code base(我们管这叫sync,这是我们的版本控制软件的命令)。然后每次check in之...
阅读(5617) 评论(12)

《代码大全》用数据说话:关于子程序的最佳长度

不少讨论编程风格的书都告诉我们,应该编写短小的函数(子程序),各家推荐的子程序最佳长度也不一样,从十多行到一二百行不等。《代码大全 第二版》的特点之一是“用数据说话”,书中列出:■ Basili和Perricone所做的一项研究发现,子程序的长度与错误量成反比,即:随着子程序长度的增加(上至200行代码),每行代码所包含的错误数量就会减少(Basili和Perricone 1984)。■ 另一项研...
阅读(8456) 评论(9)

《代码大全》到底讲什么?

    《代码大全 (中文版)第二版》到底讲什么?她讲的是哪种编程语言?C、C++、Java、C# 还是 Visual Basic?列出的代码全吗?我能从中直接copy&paste代码到自己的项目中吗?这本书英文名叫“Code Complete”,其中 code 是代码,complete 是“完成”的意思。code complete 就是“写完了所有代码,可以开始系统测试”的这么一个时段,与之对应...
阅读(29902) 评论(27)

CC2e 术语:construction 译成“构建”还是“构筑”?

      construction 恐怕是《Code Complete(代码大全) 第二版》这本书里惟一值得讨论的术语。construction 本意是“建筑、建筑物”。在这本书里用来指软件开发过程中最主要的一项活动,软件开发的活动包括:问题定义、架构、需求、设计、construction、系统测试等等。construction 中的主要活动包括:详细设计、编码、调试、集成、开发者测试(单元测试...
阅读(4580) 评论(13)

CC2e 术语:把 routine 译为“子程序”的理由

      这里特别说明一下在《Code Complete(代码大全) 第二版》中我们把 routine 译为“子程序”的理由。(主要观点来自裘宗燕老师,部分文字取自裘老师写给我们的邮件。)  这本书先讲整体的设计(第 5 章);而后讲 class(第 6 章),是下降一个层次;而后讲 routine(第 7 章)。在第 7 章“High-Quality Routines”的一开始,作者自设一问:...
阅读(6983) 评论(22)

CC2e 术语:一些基本确定的术语

      《Code Complete(代码大全) 第二版》中译本使用下面这些术语我想不会引起多大争议(完全不会有争议的术语,如“variable/变量、program/程序、class/类”等等就不列出了):agile development - 敏捷(软件)开发architecture - 架构assertion - 断言building block - 构造块business logic ...
阅读(4165) 评论(18)

《Code Complete 中文版 第二版》统稿流水帐

      《Code Complete 中文版 第二版》/《代码大全》(这是我自己设想的书名,最后不一定这么叫,下称 CC2e。)的翻译工作已经完成,审校工作也基本完成。这本书由 4 名译者(金戈 汤凌 陈硕 张菲)翻译,由裘宗燕老师审校。目前进入统稿阶段(主要由我来做,之后交由译者复查),主要工作有: 统一术语完成交叉引用补注原文,让索引中出现的英文词汇在正文中基本都能找到根据原书勘误表修订译...
阅读(5067) 评论(4)

用Bresenham算法在FPGA上实现小数分频器

最近朋友问了一个问题,输入时钟是33MHz,要分出一路2.048MHz的时钟来,要求相位抖动尽可能小。我想到可以用计算机图形学中绘制直线的Bresenham算法来解决,获得成功。输入时钟是33000kHz,输出时钟是2048kHz,好比从原点画一条到(33000,2048)的直线,用输入时钟驱动画笔在 x 方向的运动,那么对应的 y 方向的运动就是输出时钟。Verilog代码如下:module  ...
阅读(6443) 评论(9)

JPEG 学习笔记

JPEG 学习笔记...
阅读(5089) 评论(0)

Verilog与C++的类比

1. Verilog中的module对应C++中的class。它们都可以实例化。例如可以写一个FullAdder module,表示全加器这种器件。  module FullAdder(a, b, cin, sum, cout);  input a, b, cin;  output sum, cout;    assign {cout, sum} = a + b + cin;endmodule  ...
阅读(7173) 评论(3)

《C# Primer 中文版》探讨

我是陈硕,与侯捷老师合作翻译了《C# Primer》这本书。这本书于2003年底出版,已经快两年了。这是我参与翻译的第一本书,虽然在翻译过程中下了很大的功夫,但我相信其中一定还有很多不足之处,也正如读者评论的“翻译得不太成熟”。现在看来,这本书里很多译注是多余的,有点唠叨,可能会影响读者阅读的思路。(我的一位好朋友也曾经向我提到这一点。)这本书不是那种每看一遍都有新的收获的经典好书,它的作用在于助...
阅读(7436) 评论(9)
149条 共8页首页 上一页 ... 6 7 8 下一页 尾页
    个人资料
    • 访问:3181758次
    • 积分:24217
    • 等级:
    • 排名:第242名
    • 原创:144篇
    • 转载:3篇
    • 译文:2篇
    • 评论:3300条
    公告
    本人博客的文章均为原创作品,除非另有声明。个人转载或引用时请保留本人的署名及博客网址,商业转载请事先联系。我不使用即时聊天工具。也请不要用 CSDN 站内信、私信、短消息或者留言功能跟我联系。我的 gmail 用户名是 giantchen,微博 http://weibo.com/giantchen。
    陈硕的微博
    最新评论
    g