Code

Changes between Version 17 and Version 18 of SummerOfCode2010


Ignore:
Timestamp:
03/16/10 05:27:35 (4 years ago)
Author:
russellm
Comment:

Updated the housekeeping task, including splitting out the error handling task into a project of it's own.

Legend:

Unmodified
Added
Removed
Modified
  • SummerOfCode2010

    v17 v18  
    9696 * '''Complexity:''' Minor 
    9797 
    98 A big housekeeping run. Formalize and document the stable parts of _meta; Cleanup of error messages (BetterErrorMessages and #3349 for ideas); profile the test suite looking for low hanging optimizations. 
     98Django has gone through three recent cycles of rapid change, culminating in the release of versions 1.0, 1.1 and 1.2. These releases have all been feature heavy, which is good for ticking off checkboxes on feature lists, but it does mean that some internal housekeeping and code cleanup tasks have been avoided in order to deliver new features. These housekeeping issues would be well suited to a Summer of Code student wishing to gain a deep understanding of the internal workings of the Django framework. 
    9999 
    100100Issues to consider: 
    101  * 
     101 * Django's Model._meta class is officially internal API, but in practice, many parts of _meta are in such common use that they couldn't be changed without causing major problems to Django users. The contents of _meta should be surveyed, cleaned up where necessary, documented and tested as part of formal API. 
     102 * While the public API for foreign keys and m2m relations in Django is quite elegant, the implementation is anything but. This implementation should be cleaned up. 
     103 * There are several internal components (such as the datastructures library) that are heavily used, but have not been extensively profiled to ensure that they are efficient. Profile the Django test suite to find the areas of code that are performance bottlenecks, and optimize them. 
    102104 
    103105See also: 
    104  * 
     106 * Trac, bugs by component. Any component with lots of bugs is potentially a candidate for inclusion in this project. 
     107 * [source:django/trunk/django/core/models/options.py The Model._meta class definition] 
     108 * [source:django/trunk/django/core/models/fields/related.py The related fields implementation] 
     109 
     110=== Improved error reporting === 
     111 * '''Complexity:''' Medium 
     112 
     113The error messages raised by Django can sometimes be confusing or misleading. Import errors discovered during  can be masked; templates that raise errors  
     114 
     115 
     116See also: 
     117 * [wiki:BetterErrorMessages The Better Error Messages] proposal page 
     118 * Ticket #3349 
    105119 
    106120=== Improve annotation and aggregation ===