Hey Kim, et al.,

Great list.

My suggestion:

1. Deprecated code is removed, not commented out (making it really hard
to see what's really turned on or not). Before removing;
2. JIRA issue is created to remove code;  with rationale from reasons
below on Guidelines for deprecating.
3. Commit away
4. Along with #3, update CHANGES.txt file noting back incompat changes.

Cheers,
Chris

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chris Mattmann, Ph.D.
Senior Computer Scientist
NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 171-266B, Mailstop: 171-246
Email: [email protected]
WWW:  http://sunset.usc.edu/~mattmann/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adjunct Assistant Professor, Computer Science Department
University of Southern California, Los Angeles, CA 90089 USA
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++






-----Original Message-----
From: <Whitehall>, "Kim D   (398J-Affiliate)"
<[email protected]>
Reply-To: "[email protected]"
<[email protected]>
Date: Thursday, June 6, 2013 9:40 PM
To: "[email protected]" <[email protected]>
Subject: Deprecation policy

>Dear All,
>Working on metrics.py stuff week, the question about a deprecation policy
>came up. So I thought to summarize the issues we came across with some
>suggestions on how to handle them as a means of starting the process
>about a deprecation policy.
>
>Attached below are those thoughts for your feedback.
>
>Best regards,
>Kim
>______
>Workflow of deprecating code
>--- Committer duties ---
>1 comment the code out (but allow it to be callable so the user can see
>the print statement). Add a DocString and Print statement accordingly
>from guidelines below.
>
>2  If the function being deprecated has the same name as the new one,
>append "Deprecated" to the name. (KDW: this will prevent naming
>issuesÅ but how would this influence the design?)
>
>3 Announce deprecation updates when committing code for review.
>
>4 Update the user community of the deprecation if accepted.(wiki update??)
>
>4 Deprecation log? Instead of appending on to CHANGES.txt should we
>create a log for when functions have been removed between releases?
>
>--- End committer duties?---
>
>5 After ## of releases, remove the entire function from the code base.
>
>6 Announce the removal to the user base.
>
>
>Guidelines on when to deprecate code
>
>1 the functionality has been replaced by a more powerful and/or general
>alternative.
>Action for the DocString  -  Deprecated :: Replace by newFunction
>Print statement in function - Warning: Replace by newFunction
>
>
>2 the code contained inefficiencies and/or has been succinctly rewritten
>Action for the DocString - Deprecated ::
>Print statement in function - Warning: This function inefficiently used
>resources and has been replaced by newFunction
>
>3 the code contains workflow flaws e.g. may be calling functions that no
>longer exists
>Action for the DocString - Deprecated :: Design flow issue as of version
>##. Replace by newFunction
>Print statement in function - Warning: This function generates design
>flaws as of version ## and is replaced by newFunction
>
>4 the functionality is no longer required i.e. it is obsolete in the
>current version
>Action for the DocString - Deprecated :: Obsolete as of version ##
>Print statement in function - Warning: Obsolete as of version ##.
>Replaced by newFunction
>
>5 the code contained inconsistencies regarding the code standard and was
>rewritten
>Action for the DocString - Deprecated :: Did not meet linting standards.
>Use functionName  for this functionality.
>Print statement in function - Warning: Did not meet linting standards and
>was replaced by newFunction
>
>
>
>

Reply via email to