[Tutor] Program review
Jeff Johnson
jeff at san-dc.com
Sat Jan 5 22:58:21 CET 2008
I would like to "butt" in here and mention that this is some of the most
useful information I have seen! I am a programmer of 25 years that is
new to Python. This type of back and forth dialog on actual production
code is extremely useful to learning the language. I have done this
with Ed Leafe with Dabo and it has helped a lot.
Keep it up!
Jeff
Jeff Johnson
jeff at san-dc.com
SanDC, Inc.
623-582-0323
Fax 623-869-0675
Ricardo Aráoz wrote:
> Kent Johnson wrote:
>> Ricardo Aráoz wrote:
>>> Ok, here is a corrected new version, I hope.
>>>
>>> Kent, the fact that Mensaje.__init__ reads the message configuration is
>>> by design (it's a feature, not a bug ;c) ).
>> You misunderstood my suggestion. I would add a method to Mensaje that
>> creates the email.MIMEMultipart.MIMEMultipart() currently done by
>> Correo.__init__().
>>
>> Almost every line of Correo.__init__() is reading data from attributes
>> of mensaje. This is a code smell called Feature Envy and is a clear sign
>> that the code is in the wrong place.
>>
>> In Mensaje you could have
>> def createMessage(self):
>> messg = email.MIMEMultipart.MIMEMultipart()
>> messg['From'] = self.De
>> messg['To'] = self.Para
>> messg['Subject'] = self.Encabezado
>> messg['Reply-To'] = self.ResponderA
>> messg.preamble = 'This is a multi-part message in MIME format'
>> messg.attach(email.MIMEText.MIMEText(self.html, 'html'))
>>
>> Then in Correo.__init__() you would have
>> self.messg = mensaje.createMessage()
>>
>> It doesn't change the functionality but it is a better design.
>>
>
> I see, yes it is better, I'll correct it. Thanks
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
>
>
More information about the Tutor
mailing list