Lines Matching full:code

3 Getting the code right
8 code. It is the code which will be examined by other developers and merged
9 (or not) into the mainline tree. So it is the quality of this code which
27 advisory. As a result, there is a substantial amount of code in the kernel
28 which does not meet the coding style guidelines. The presence of that code
33 code to the kernel is very difficult if that code is not coded according to
34 the standard; many developers will request that the code be reformatted
35 before they will even review it. A code base as large as the kernel
36 requires some uniformity of code to make it possible for developers to
38 strangely-formatted code.
42 win before the code can be merged. Putting code into the kernel means
44 how the code is formatted.
46 The other trap is to assume that code which is already in the kernel is
52 avoided. It is natural to fix the style of a piece of code while working
62 these rules, to quickly re-format parts of your code automatically,
80 involving several million lines of code could do otherwise and survive.
88 provides. By that time, though, chances are good that the code which
98 frowned upon. Such layers obscure the code and may impose a performance
101 On the other hand, if you find yourself copying significant amounts of code
103 make sense to pull out some of that code into a separate library or to
105 replicating the same code throughout the kernel.
114 use of it results in code which is much harder for others to read and
116 is almost always a sign of code which needs some cleanup work.
119 is used within the kernel. But there is little desire to see code which is
122 Conditionally-compiled code can be confined to functions which, if the code
125 code which is easier to follow.
130 instead. The code which results will be the same, but inline functions are
141 however, can actually reduce performance. Since their code is replicated
167 stack offered the promise of fixing that situation. Yet, this code did not
171 This code showed a number of signs of having been developed behind
177 Once upon a time, Linux kernel code could be developed without thinking
182 code could be written without thinking about locking are long past.
186 New code should be written with this requirement in mind; retrofitting
189 enough to pick the right tool for the job. Code which shows a lack of
228 Code checking tools
231 For now, at least, the writing of error-free code remains an ideal that few
233 many of those errors as possible before our code goes into the mainline
243 Code submitted for review should, as a rule, not produce any compiler
260 - DEBUG_OBJECTS will add code to track the lifetime of various objects
286 in an automated manner ahead of time. Code with any sort of non-trivial
293 are, probably, completely untested. Untested code tends to be broken code;
294 you could be much more confident of your code if all those error-handling
300 fail; these failures can be restricted to a specific range of code.
302 code responds when things go badly. See
312 distributor does not package it); it can then be run on the code by adding
323 Other kinds of portability errors are best found by compiling your code for
339 of new code into the kernel, make life easier for other developers, and
351 Any code which adds a new user-space interface - including new sysfs or
376 Anybody who reads through a significant amount of existing kernel code will
378 the expectations for new code are higher than they were in the past;
379 merging uncommented code will be harder. That said, there is little desire
380 for verbosely-commented code. The code should, itself, be readable, with
387 Non-obvious dependencies between separate bits of code should be pointed
388 out. Anything which might tempt a code janitor to make an incorrect
410 generally charged with the task of fixing any code within the kernel tree
419 ensure that code which has not been updated is caught by the compiler.
421 interface. It will also alert developers of out-of-tree code that there is
422 a change that they need to respond to. Supporting out-of-tree code is not