code quality dds

Code QualityErrata

The following is a list of typographical and other errors found in the book:
Diomidis Spinellis. Code Quality: The Open Source Perspective. Addison Wesley, 2006.

Please before marking a fix on your copy verify that it applies to the printing of your book. The printing number appears at the bottom of the fourth page. Read the book's FAQ on how to report an error you've found.

p. xxix
The name of the series's editor appears as Scott Myers instead of Scott Meyers.

p. 55, line 1
Unforunately should be Unfortunately. Noted by Michael Morrell.

p. 104, paragraph 2
The sequence "on a Windows workstation and Unix server respectively" should read "on a Unix server and Windows workstation respectively." Noted by Michael Morrell.

p. 108
An opening quote is missing in the second and third to last bullets at the bottom. Noted by Michael Morrell.

p. 109
The content at addess 0xd0000d0f should be a double quote ("). Noted by Michael Morrell.

p. 133, first line after code sample at top of page
itemerfix should be itimerfix. Noted by Michael Morrell.

p. 136, paragraph 1, line 7
"exists" should be "exits". Noted by Michael Morrell.

p. 148, 3nd to last list item
"priviledge" should be "privileged". Noted by Michael Morrell.

p. 149, paragraph 3, line 2
"where" should be "were". Noted by Michael Morrell.

p. 161
"processing a 10 million log file" should read "processing a 10 million line log file". Noted by Manuel Bossant.

p. 168,169
The word "descendants" wrongly appears as "dencendants" in six separate instances. Embarrassingly this problem was introduced after copy editing when the word's spelling was globally changed from "descendents" to "dencendants". Noted by Edwin Fine.

p. 190, section 4.5, line 8
"same" should be "some". Noted by Michael Morrell.

p. 200
The for loop in the crc_ccitt function should read:
    for (; *s; s++) {
Noted by Edwin Fine.

On the same page, a closing brace is missing at the end of the crc_ccitt function.
Noted by Anto Jurkovic.

p. 201, paragraph 2, line 1
"neccessarily" should be "necessarily"

On the same page, paragraph 3, line 2
"can degrade to" should be "can degrade". Both noted by Michael Morrell.

p. 209, last paragraph of section 5.1, line 2
"36 elements" should be "36 bytes". Noted by Michael Morrell.

pp. 286-287
Paul Floyd witilly commented: you mention the "UK Ministry of Defense". As the UK has yet to be incorporated into the USA, that should of course be "UK Ministry of Defence".

p. 237, line 6 and the last line of the paragraph
"PAES" and "AWES" should be correspondingly "PAE" and "AWE". Noted by the author.

p. 241, Section 5.4.3
The sentence
Thus, accessing the mmaped memory block will result in the kernel arranging for the corresponding part of the file to be read into that area, bypassing the kernel's normal disk buffer cache and its associated overhead.
should read
Thus, accessing the mmaped memory block will result in the kernel arranging for the corresponding part of the file to be read into that area, bypassing the copying of data to or from the kernel's normal disk buffer cache and its associated overhead.
Noted by Chih-Chung Chang.

p. 258
The listing should read:
char *
strregerror(int errcode, regex_t *preg)
{
    char *oe;
    size_t s;

    s = regerror(errcode, preg, "", 0);
    oe = xmalloc(s);
    (void)regerror(errcode, preg, oe, s);
    return (oe);
}
Footnote 60 should read:
This is code from netbsdsrc/usr.bin/sed/misc.c:95-109 with an error intentionally introduced.
Noted by Edwin Fine.

p. 309, footnote 29
"i10n" should be "l10n". Noted by Michael Morrell.

p. 330, figure 7.1
The function's argument should be "HTAB *hashp" not "HTAB *hashp hashp". Noted by Michael Morrell.

p. 332, last line before Exercise 7.1
"activates" should be "activities". Noted by Michael Morrell.

p. 353
A period is missing at the end of the first paragraph. Noted by Michael Morrell.

p. 355, line 8
"left shift" should read "right shift". Noted by Chih-Chung Chang.

p. 355, line 9
"bit-NOT" should be "bit-OR". Noted by Michael Morrell.

p. 364, section 7.2.8, line 6
"expression of function" should be "expression or function". Noted by Michael Morrell.

p. 379, last paragraph, line 2
"to the parse variable pa" should be "through the parse variable pa". Noted by the author.

p. 397, section 7.2.18, line 1
"is meets" should be "it meets". Noted by Michael Morrell.

p. 420, paragraph 1, lines 1-3
The text should read:
In Java programs this means that our preference for access control modifiers should start at private and continue with no modifier (indicating package visibility), protected, and end with public.
Noted by Thomas Grauschopf.

p. 440, paragraph 2, line 9
"runs all test" should be "runs all tests". Noted by Michael Morrell.

p. 446, Defensive Coding, line 2
"title" should read "title of". Noted by Michael Morrell.

p. 449, paragraph 3, line 6
"running on the background" should be "running in the background". Noted by Michael Morrell.

p. 463, footnotes 240 and 241
The footnotes should contain the full URL: http://pmd.sourceforge.net and http://checkstyle.sourceforge.net. Noted by Michael Morrell.

p. 465, line 7
"rules of a thumb" should be "rules of thumb". Noted by Michael Morrell.

p. 471, 3rd paragraph
"to toward" should read "toward". A minus sign (-) should appear before each of the five binary numbers: -0.1001010[0]2, -0.10010102, -0.1001010[00000]2, -0.1001010[00000111010]2, -0.10010112. (Noted by Ike Naar.)

On the same page, last paragraph, line 1
"do not suffer from Table Maker's Dilemma problem" should read "do not suffer from the Table Maker's Dilemma problem". (Noted by Michael Morrell.)

p. 466, fourth line
The hyphen appearing between 232 and 264 shouldn't be there.

On the same page, first line of section 8.1
"remories" should of course read "memories". Both noted by Anto Jurkovic.

p. 478, last line
"T_TAXAMOUNT" should be "N_TAXAMOUNT". Noted by Chih-Chung Chang.

p. 488, quadratic execution tracing at end of page
The last two lines should read as follows:
 -b + \sqrt{b^2 - 4ac}   \equiv   -10^{6} + 999999.99999599997   = \\   = -4.0000304579734802 \times 10^{-6}  {\rm RE} \approx 3.4 \times 10^{10} \epsilon
Noted by Michael Morrell.

p. 489, last paragraph, line 2
"3,025" can be easier read as "3025". Noted by Michael Morrell.

p. 490
Two lines of the equation tracing should read as follows (corrected elements highlited in red):
\sqrt{b^2 - 4ac}  \equiv  \sqrt{2.2204460492503131 \times 10^{-16}} \\  =  1.4901161193847656 \times 10^{-8} \\ -b + \sqrt{b^2 - 4ac}  \equiv  -1.1 + 1.4901161193847656 \times 10^{-8}
Noted by Michael Morrell.

p. 496, Table 8.3
(Noted by Ike Naar; erratum corrected by Roger House).

p. 510
The name of the first editor for the reference GKW03 should be Jean-Pierre Rosen. Noted by Manuel Bossant.

Book homepage | Author homepage


Valid XHTML 1.0! Level Triple-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0 Creative Commons License Unless otherwise expressly stated, all original material on this page created by Diomidis Spinellis is licensed under a Creative Commons Attribution-Share Alike 3.0 Greece License.
Last modified: 2009-10-17