unix
This commit is contained in:
@@ -0,0 +1,12 @@
|
|||||||
|
(i) Make each program do one thing well. To do a new job,
|
||||||
|
build afresh rather than complicate old programs by adding new features.
|
||||||
|
|
||||||
|
(ii) Expect the output of every program to become the input to another,
|
||||||
|
as yet unknown, program. Don't clutter output with extraneous information.
|
||||||
|
Avoid stringently columnar or binary input formats. Don't insist on interactive input.
|
||||||
|
|
||||||
|
(iii) Design and build software, even operating systems, to be tried early, ideally within weeks.
|
||||||
|
Don't hesitate to throw away the clumsy parts and rebuild them.
|
||||||
|
|
||||||
|
(iv) Use tools in preference to unskilled help to lighten a programming task, even if you have to detour
|
||||||
|
to build the tools and expect to throw some of them out after you've finished using them.
|
||||||
Reference in New Issue
Block a user