Changes between Version 4 and Version 5 of Guidelines/MaintenanceGuidelines


Ignore:
Timestamp:
Nov 23, 2008, 12:54:15 AM (14 years ago)
Author:
viboes
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Guidelines/MaintenanceGuidelines

    v4 v5  
    152152= Documentation =
    153153
    154 == Tag Boost library with specific library version [author] ==
     154== Tag Boost library with specific library version [author] == #version
    155155Tagging each library release with a version, is the better way to signal to the user of possible incompatibilities.
    156156
     
    163163 * '''1.0.0''' Initial release on 1.25
    164164
    165 == Create a Feature Request ticket for each deprecated/suppressed/modified/new  feature [author, user] ==
     165== Feature Request for each deprecated/suppressed/modified/new feature [author, user] == #feature_request
    166166Each modification should be tracked with a ticket on the track system.
    167167
    168 == Release note and track system traceability [author] ==
     168== Release note and track system traceability [author] == #release_note
    169169The release note should include
    170170    * the list of all the bug tickets that have been solved
     
    184184
    185185
    186 
    187 == Include a diff file showing the modification respect to the previous release [author, RM] ==
     186== Include a diff file respect to the previous release [author, RM] == #diff_file
    188187This file is the explicit report of all the changes in the library. It could be used by the Boost community to inspect that every change has been correctly documented (see inspections bellow).
    189188
    190 == Trac ticket => test cases association [author] ==
     189== Trac ticket and test cases association [author] == #ticket_test_case_map
    191190
    192191Each feature request or bug should have associated at least a test case. A table showing this association will help to check that each feature,bug is has the expected test coverage.   
     
    196195
    197196
     197== Inter dependency table [author] == #dependency
     198
    198199
    199200= Codding =
    200 == Do not use using sentences [user] ==
     201== Do not use using sentences [user] ==#dont_using
    201202As seen before the use of using sentences in user code is one of the source of user code breaking, so it will be safer to use instead namespace synonyms and prefix each symbol with them.
    202203
     
    221222
    222223
    223 == Do not delete files prematurely [author] == #delete_files
     224== Do not delete files prematurely [author] == #dont_delete_files
    224225
    225226Before deleting a file "file.hpp" deprecate it and let the user modify its code during some versions (e.g. until 1_40). Replace it by
     
    236237It will be up to the user to define the macros BOOST_WARMS_DEPRECEATED and BOOST_WARMS_DEPRECEATED_ON_1_40 when the user wants to be warmed for deprecated features on Boost or on the Boost version 1.40 respectively.
    237238
    238 == Do not delete namespaces prematurely [author] ==
     239== Do not delete namespaces prematurely [author] == #dont_delete_cpp_symbols
    239240Use the using sentence to import from the new namespace to the old one.
    240241
    241 == Do not delete classes/functions/variables prematurely [author] ==  #delete_cpp_symbols
     242== Do not delete classes/functions/variables prematurely [author] == #dont_delete_cpp_symbols
    242243Instead of delete a class or a public/protected function/variable on the next version protect its declaration by any of the DONT_INCLUDE_DEPRECATED macros.
    243244
     
    286287}}}
    287288
    288 
    289 == Do not modify functions prototypes prematurely [author] ==
     289== Do not modify functions prototypes prematurely [author] == #dont_modify_prototypes
    290290Instead of modifying an existing function prototype, do as you were deleted it and added the new one. As both prototypes should cohabit during some releases, check if this overloading could cause user code breaks.
    291291
    292 == Remove the deprecated features on a given release [author] ==
     292== Remove the deprecated features on a given release [author] == #deprecated_removal
    293293Once the deprecated period is expired the author should remove them.
    294294
    295295= Test and Inspections =
    296296
    297 == Regression Test and track system traceability ==
     297== Regression Test and track system traceability == #ticket_test_case
    298298A bug ticket should be associated to one or several test cases, either the test cases exists already and we are in face of a regression for some toolset, or a new toolset is considered, or a new test case is needed to reproduce the bug and the modification solve the problem.
    299299 * State clearly which test cases reproduce the bug it they exists [user]
    300300 * Propose a new test case reproducing the bug otherwise [user]
    301301
    302 == Preserve the test from the preceding versions as much as possible [author] ==
     302== Preserve the test from the preceding versions [author] == #old_tests
    303303The test from the preceding versions should not be changed when the author modifies its library. These not changed tests are a probe of compatibility with the preceding version. When these test must be changed they indicate a breaking user code issue. So instead of changing them add new ones stating explicitly on which version they were included. Old tests that should fail can be moved to the compile_fail or run_fail tests on the Jamfile.
    304304
     
    306306
    307307= Release Management =
    308 == Announce new features on a library [author] ==
     308== Announce new features on a library [author] == #announce
    309309It would be great if the author announce to the Boost mailing lists the new features just before committing in the release branch. This will let the time to the Boost community to inspect the modifications introduced.
    310310
    311 == Inspect announced modifications match the real ones [author, user, RM] ==
     311== Inspect announced modifications [author, user, RM] == #review
    312312The use of the diff file will help to inspect that the modifications introduced have been correctly included on the documentation and a good test coverage has been done. This will result in a non official mini-review of the library.
    313313
    314314
     315= Author guidelines =
     316||Kind||Guideline||
     317||Documentation||[wiki:Guidelines/MaintenanceGuidelines#versionTag Boost library with specific library version ]||
     318||Documentation||[wiki:Guidelines/MaintenanceGuidelines#feature_request Feature Request for each deprecated/suppressed/modified/new feature]||
     319||Documentation||[wiki:Guidelines/MaintenanceGuidelines#release_note Release note and track system traceability]||
     320||Documentation||[wiki:Guidelines/MaintenanceGuidelines#diff_file Include a diff file respect to the previous release ]||
     321||Documentation||[wiki:Guidelines/MaintenanceGuidelines#ticket_test_case_map Trac ticket and test cases association]||
     322||Code||[wiki:Guidelines/MaintenanceGuidelines#dont_using Do not use using sentences in test programs]||
     323||Code||[wiki:Guidelines/MaintenanceGuidelines#dont_delete_files Do not delete files prematurely ]||
     324||Code||[wiki:Guidelines/MaintenanceGuidelines#deprecated_removal Remove the deprecated features on a given release]||
     325||Code||[wiki:Guidelines/MaintenanceGuidelines#dont_delete_cpp_symbols Do not delete classes/functions/variables prematurely]||
     326||Code||[wiki:Guidelines/MaintenanceGuidelines#dont_modify_prototypes Do not modify functions prototypes prematurely]||
     327||Test||[wiki:Guidelines/MaintenanceGuidelines#ticket_test_case Regression Test and track system traceability]||
     328||Test||[wiki:Guidelines/MaintenanceGuidelines#old_tests Preserve the test from the preceding versions]||
     329||Release Management||[wiki:Guidelines/MaintenanceGuidelines#announceAnnounce new features on a library]||
     330||Release Management||[wiki:Guidelines/MaintenanceGuidelines#review Inspect announced modifications]||
     331
     332= User guidelines =
     333||Documentation||[wiki:Guidelines/MaintenanceGuidelines#feature_request Feature Request for each deprecated/suppressed/modified/new feature]||
     334||Code||[wiki:Guidelines/MaintenanceGuidelines#dont_using Do not use using sentences]||
     335||Test||[wiki:Guidelines/MaintenanceGuidelines#ticket_test_case Regression Test and track system traceability]||
     336||Release Management||[wiki:Guidelines/MaintenanceGuidelines#review Inspect announced modifications].||
     337
     338= Release manager guidelines =
     339||Documentation||[wiki:Guidelines/MaintenanceGuidelines#author Announce new features on a library]||
     340||Release Management||[wiki:Guidelines/MaintenanceGuidelines#review Inspect announced modifications].||
     341