[Python-Dev] Re: raw headers in rfc822.Message (original) (raw)
Raymond Hettinger python@rcn.com
Tue, 10 Sep 2002 23:39:52 -0400
- Previous message: [Python-Dev] Writing patches
- Next message: [Python-Dev] Re: raw headers in rfc822.Message
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
From: "Guido van Rossum" <guido@python.org>
I guess we're assuming that even people who aren't familiar with SourceForge are familiar with diff. Is that not a reasonable assumption any more?
There's also the developer FAQ, which has carefull instructions for patch generation at http://www.python.org/dev/devfaq.html#patches and in addition points to http://www.python.org/patches/ which has everything you need (except the hint about forward diffs; I'll add that).
FAQs and pointers be darned; there is only one way to developerhood and that is through the school of hard knocks.
- Learn to use CVS (which, of course, entails SSH and such).
- Use Googol (a lot), or risk proposing that which has already been decided, researched, or discussed ad naseum.
- Submit a patch. Find out that it was the wrong diff format or keyed-off of an older, non-current version of the file. Then find-out that your editor's tabbing and spacing confounds somebody's life, somewhere. Oh, did you forget to run the regression tests? Did your tests run fine, but you didn't run them in debug mode? Perhaps your Windows machine skips the test for the library you modified. Break working code and suffer public flogging.
- Read every PEP and make sure your patch style has no deviations (unless, of course, your C and Python coding style already matched the PEPs).
- BTW, did you submit unittests and docs with your patch?
Did you make appropriate adjustments to the makefiles, and every other reference to you work? And appropriate announcements in Misc/NEWS? - Surely, you've learned TeX and its many Python specific macros (forward slash or backslash, verbatim or code?) How many characters were on your longest line (72, 78, hopefully, not more).
- When learning a guitar, it helps to develop calluses on the fingers. Write a PEP is the fastest way to develop the calluses; contradicting Guido is the second fastest way; submitting a great idea is third fastest (bad ideas either get ignored or are slammed so quickly that the scar tissue doesn't have time to develop).
- Experience the politics of bug resolution. If a developer proposed it, then it should not be dismissed lightly. If someone had a grandiose scheme in mind when they submitted the report, be prepared for wrath when you apply a simple solution. Realize that, in some cases, someone, somewhere is relying on the undocumented buggy behavior and your fixing it is breaking their code.
- And, my all time favorite, do everything right (formatting, procedure, profiling, testing, etc) and watch the Timbot come along five minutes later and improve your code making it faster, clearer, more conformant, more elegant, and also gel neatly with the vaguaries of memory allocation, cache performance, and compilers you've never heard of.
Raymond Hettinger
Oh, and did I mention that native speakers of ASCII will never be able to master Unicode like a native?
- Previous message: [Python-Dev] Writing patches
- Next message: [Python-Dev] Re: raw headers in rfc822.Message
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]