Code Quality: The Open Source Perspective by Diomidis Spinellis

By Diomidis Spinellis

The booklet is filled with hard-won adventure solid well into prose. it is a very necessary learn. the writer does not turn away from explaining tough or tricky ideas, the place priceless, and every element is illustrated with instance code from actual systems.

For instance, the bankruptcy on Maintainability opens with 4 attributes of a maintainable process (from ISO/IEC 9126-1:2001) that actually struck a chord with me.

Analysability: discovering the positioning of an mistakes or the a part of the software program that needs to be analysed
Changeability: imposing the upkeep switch at the system's code
Stability: no longer breaking something during the change
Testability: Validating the software program after the change

I recognize maintainable code whilst I see it -- it has a undeniable feel... Up earlier even though i have usually struggled to specific that feeling to non-programmers, or maybe extra importantly, to much less skilled colleagues.

Highly recommended.

Show description

Read or Download Code Quality: The Open Source Perspective PDF

Similar software development books

Error Control Coding: Fundamentals and Applications (Prentice-Hall Computer Applications in Electrical Engineerin)

Utilizing at least arithmetic, this quantity covers the basics of coding and the functions of codes to the layout of genuine errors keep watch over platforms.

Agile Software Construction

Introduces the center options, evaluates how winning they are often, in addition to what difficulties should be encountered Dispels quite a few myths surrounding agile improvement

Fathom 2: Eine Einführung (German Edition)

Fathom 2 ist eine einzigartige dynamische Stochastik- und Datenanalysesoftware, die den besonderen Bedürfnissen der schulischen und universitären Lehre gerecht wird und die hier erstmals in deutscher Adaption vorgelegt wird. Die Einführung in Fathom 2 bietet einen schnellen und erfolgreichen Einstieg in diese Werkzeugsoftware anhand zahlreicher Beispiele zur statistischen Datenanalyse, zur stochastischen Simulation und zu mathematischen Aspekten der Stochastik.

Building Web Apps for Google TV

Through integrating the net with conventional television, Google television deals builders an immense new channel for content material. yet developing apps for Google television calls for studying a few new skills—in truth, what you could already learn about cellular or laptop net apps is not fullyyt appropriate. construction internet Apps for Google television can assist you're making the transition to Google television as you research the instruments and methods essential to construct subtle internet apps for this platform.

Extra resources for Code Quality: The Open Source Perspective

Example text

Cflag) return(-1); return(0); } Clarity in both specification and implementation helps us avoid misinterpretation errors. As an example, the function's return values could be documented as follows. PROCESS_AND_STOP Process just this member and then stop the processing of other members. This value is returned if the user specified the "process the first file" flag (-n) and did not specify the "complement the matched set" flag (-c). PROCESS_AND_CONTINUE Process this member and continue processing.

According to the specification of wait, interrupts and spurious wakeups are possible. It is not guaranteed that wait will return only when the other thread has set busy to true. 2. There is a time window between the time our thread is awoken and the time it acquires the lock. During that time, another thread might cause busy to become true again. 3. There might be multiple conditions associated with the given monitor (this is not the case in this example). 7:1. Sadly, even design patterns that have been advertised to solve a particular problem have turned out to have flaws.

47 48 Unnecessary functionality can also appear in the code when a maintenance change fails to completely remove all instances of the code related to a particular feature. For example, just because an element of a program's functionality is not available through its GUI functionality, that does not mean that there are no other ways for accessing it (for example, through a scripting interface). For this reason, when removing code elements, search through the source to locate related code that should also be removed.

Download PDF sample

Rated 4.16 of 5 – based on 48 votes