Changes between Version 17 and Version 18 of SummerOfCode2010

03/16/10 07:27:35 (6 years ago)

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


  • SummerOfCode2010

    v17 v18  
    9696 * '''Complexity:''' Minor
    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.
    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.
    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/ The Model._meta class definition]
     108 * [source:django/trunk/django/core/models/fields/ The related fields implementation]
     110=== Improved error reporting ===
     111 * '''Complexity:''' Medium
     113The error messages raised by Django can sometimes be confusing or misleading. Import errors discovered during  can be masked; templates that raise errors
     116See also:
     117 * [wiki:BetterErrorMessages The Better Error Messages] proposal page
     118 * Ticket #3349
    106120=== Improve annotation and aggregation ===
Back to Top