[Tutor] suggestions to improve design

Justin Straube email at justinstraube.com
Tue Jun 5 06:27:48 CEST 2012


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 06/04/2012 11:28 AM, Prasad, Ramit wrote:
> Unless the script gets a *very* large list of emotes or you are on 
> an older machine I doubt that you will really see any performance 
> issues. That being said, my comments are below and other tutors

Thank you for your time, Ramit.

> can correct anything I missed or said incorrectly. I like the 
> presence of your documentation, kudos!

As a hobbyist, I can afford the time to document. I also find that
even with code I wrote, the documentation helps me understand better,
and find areas that need more work.

> Why use a class for storing the 'tions' and dict directly from the
> module?
> 
> tions = { [snip] }

When I started, I was unsure what else I would be putting in the class
Emo. After I got going, I was unsure about changing that, if the
design needed adjusting and it would be used further. Before I do to
much more for this, I am going to remove the class and just use the
dictionary, with a better name.

Thank you for your other ideas. Ill work over this and also clean up
my comments.

Justin


> I also think get_emote should not be passed the entire argv, it
> should be passed only the arguments it needs so I would change the
> call to
> 
> def emote(argv): emote = argv[1] if emote in tions: # look at
> dictionary, no need to pull keys manually emstring =
> get_emote(emote, argv[2:]) # pass only arguments
> 
> # print a generic message to the channel displaying the emote
> string #xchat.emit_print("Generic Message", nick, emstring) 
> xchat.command("me %s" % (emstring))
> 
> def get_emote( e, args ): if e in tions: if '%s' in tions[e]: 
> return tions[e] % tuple(args) # will error here if not the correct
> number of variables # in args; might want to catch and then return
> an error string else return tions[e] else: return 'Not an
> understood emote'
> 
> 
> def list_em(): print "There are %s emotes available." %
> (len(tions)) print "Usage: /em \002<$emote>\002 - user supplied
> values are shown as \002<$bold>\002.\n"
> 
> for key,value in tions.iteritems(): print "Emote: %s - %s" % (key,
> value)
> 
> 
> As a general note, you should use docstrings instead of comments 
> above the function.
> 
> CHANGE
> 
> # show function - displays a single requested emote def show(s):
> 
> 
> TO
> 
> def show(s): 'displays a single requested emote' # single line
> docstring
> 
> OR
> 
> def show(s): ''' multi line docstring '''
> 
> 
> Ramit
> 
> 
> Ramit Prasad | JPMorgan Chase Investment Bank | Currencies
> Technology 712 Main Street | Houston, TX 77002 work phone: 713 -
> 216 - 5423

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.16 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iQEcBAEBAgAGBQJPzYq7AAoJEBXz28t2j4R5MT4H/2ILvS33kQmW5r8sNyeszoir
p5BNJOOEcEpc9Th41+12hXrP1Jir0COUur1HKqoom6Ufx07FuYPhiQ2MOC7W43EZ
I9m8/F0b/DkxLBBwg4CL+tfTAhIZ9R2/rfKxQ8GQSN4Yn29X6WGrP/uK9TRlHERq
ucb3tYPOp8b/zMujILVjndkqozupqNTrGZVBe8F8tphcnlv6ScZHjDRsaK898SbL
mcK/Ua45XVpaGpunIV8Um03hVf+UZwwvat348vOE8fgsOyywXaZc0oHsVr6G41os
zsQXR2/3CJA88ZVqJzRKmwdHJ2xuPsNWnrTuxplsHnsNWuHMHBHmnPj+HC9Gnsw=
=BPDI
-----END PGP SIGNATURE-----
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0x768F8479.asc
Type: application/pgp-keys
Size: 1744 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/tutor/attachments/20120604/a033da7b/attachment-0001.key>


More information about the Tutor mailing list