gnustandards-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnustandards standards.texi


From: Richard M. Stallman
Subject: gnustandards standards.texi
Date: Mon, 15 Jan 2018 18:28:03 -0500 (EST)

CVSROOT:        /sources/gnustandards
Module name:    gnustandards
Changes by:     Richard M. Stallman <rms>       18/01/15 18:28:03

Modified files:
        .              : standards.texi 

Log message:
        Be more careful about the word "explanation".
        (Change Log Concepts, Style of Change Logs): Encourage longer overall
        explanations of the change.  Clarify other text.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnustandards/standards.texi?cvsroot=gnustandards&r1=1.253&r2=1.254

Patches:
Index: standards.texi
===================================================================
RCS file: /sources/gnustandards/gnustandards/standards.texi,v
retrieving revision 1.253
retrieving revision 1.254
diff -u -b -r1.253 -r1.254
--- standards.texi      16 Nov 2017 18:27:59 -0000      1.253
+++ standards.texi      15 Jan 2018 23:28:02 -0000      1.254
@@ -3,7 +3,7 @@
 @setfilename standards.info
 @settitle GNU Coding Standards
 @c This date is automagically updated when you save this file:
address@hidden lastupdate September 25, 2017
address@hidden lastupdate January 15, 2018
 @c %**end of header
 
 @dircategory GNU organization
@@ -3551,46 +3551,45 @@
 @cindex change set
 @cindex batch of changes
 You can think of the change log as a conceptual ``undo list'' which
-explains how earlier versions were different from the current version.
+states how earlier versions were different from the current version.
 People can see the current version; they don't need the change log to
 tell them what is in it.  What they want from a change log is a clear
 explanation of how the earlier version differed.  Each @dfn{entry} in
 a change log describes either an individual change or the smallest
 batch of changes that belong together, also known as a @dfn{change
 set}.
+
 @cindex title, change log entry
 @cindex description, change log entry
-For later reference or for summarizing, sometimes it is useful to
-start the entry with a one-line description (sometimes called a
address@hidden) to describe its overall purpose.
-
-In the past, we recommended not mentioning changes in non-software
-files (manuals, help files, media files, etc.)@: in change logs.
-However, we've been advised that it is a good idea to include them,
-for the sake of copyright records.
+It is a good idea to start the change log entry with a description
+of the overall change.  This should be as long as needed to give
+a clear description.
+
+The give a list of names of the entities or definitions that you
+changed, according to the files they are in, and what was changed
+in each one.  @xref{Style of Change Logs}.
 
 The change log file is normally called @file{ChangeLog} and covers an
 entire directory.  Each directory can have its own change log, or a
 directory can use the change log of its parent directory---it's up to
 you.
 
-Another alternative is to record change log information with a version
-control system such as RCS or CVS.  This can be converted automatically
-to a @file{ChangeLog} file using @code{rcs2log}; in Emacs, the command
+Instead of using a file named @file{ChangeLog}, you can record the
+change log information as log entries in a version control system such
+as RCS or CVS.  This can be converted automatically to a
address@hidden file using @code{rcs2log}; in Emacs, the command
 @kbd{C-x v a} (@code{vc-update-change-log}) does the job.
 
-For changes to code, there's no need to describe the full purpose of
-the changes or how they work together.  If you think that a change
-calls for explanation, you're probably right.  Please do explain
-it---but please put the full explanation in comments in the code,
-where people will see it whenever they see the code.  For example,
-``New function'' is enough for the change log when you add a function,
-because there should be a comment before the function definition to
-explain what it does, how to call it, and so on.
-
-For changes to files that do not support a comment syntax (e.g., media
-files), it is ok to include the full explanation in the change log file,
-after the title and before the list of individual changes.
+The best place to explain how parts of the new code work with other code
+is in comments in the code, not in the change log.
+
+If you think that a change calls for explanation of @emph{why} the
+change was needed (what problem the old code had), you're probably
+right.  Please put the explanation in comments in the code, where
+people will see it whenever they see the code.  An example of such an
+explanation is, ``This function used to be iterative, but that failed
+when MUMBLE was a tree.''  (Though such a simple reason would not need
+this kind of explanation.)
 
 The easiest way to add an entry to @file{ChangeLog} is with the Emacs
 command @kbd{M-x add-change-log-entry}.  An individual change should
@@ -3599,7 +3598,6 @@
 followed by a colon.  Then describe the changes you made to that
 function or variable.
 
-
 @node Style of Change Logs
 @subsection Style of Change Logs
 @cindex change logs, style
@@ -3693,15 +3691,13 @@
 entry for the file, without mentioning the functions.  Just ``Doc
 fixes'' is enough for the change log.
 
-There's no technical need to make change log entries for documentation
-files.  This is because documentation is not susceptible to bugs that
-are hard to fix.  Documentation does not consist of parts that must
-interact in a precisely engineered fashion.  To correct an error, you
-need not know the history of the erroneous passage; it is enough to
-compare what the documentation says with the way the program actually
-works.
+There's no technical need to make change log entries for non-software
+files (manuals, help files, media files, etc.).  This is because they
+are not susceptible to bugs that are hard to understand.  To correct
+an error, you need not know the history of the erroneous passage; it
+is enough to compare what the file says with the the actual facts.
 
-However, you should keep change logs for documentation files when the
+However, you should keep change logs for non-software files when the
 project gets copyright assignments from its contributors, so as to
 make the records of authorship more accurate.
 
@@ -3811,7 +3807,7 @@
 When a program changes only a little, you may feel that the
 discrepancies are small enough that the man page remains useful without
 updating.  If so, put a prominent note near the beginning of the man
-page explaining that you don't maintain it and that the Texinfo manual
+page stating that you don't maintain it and that the Texinfo manual
 is more authoritative.  The note should say how to access the Texinfo
 documentation.
 
@@ -3901,7 +3897,7 @@
 dependencies of @file{Makefile}.
 
 All the files which are output from the @code{configure} script should
-have comments at the beginning explaining that they were generated
+have comments at the beginning stating that they were generated
 automatically using @code{configure}.  This is so that users won't think
 of trying to edit them by hand.
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]