[prev in list] [next in list] [prev in thread] [next in thread] 

List:       extremeprogramming
Subject:    [XP] Re: KISS
From:       "SirGilligan" <sirgilligan () netscape ! net>
Date:       2005-06-30 2:58:25
Message-ID: d9vn4h+5cpg () eGroups ! com
[Download RAW message or body]

--- In extremeprogramming@yahoogroups.com, Jonjon Limjap 
<jonlimjap@g...> wrote:
> I suggest you give emphasis to "maintainability" rather 
than "simplicity." 
> As Doug stated in his email, simplicity is in the eye of the 
beholder. 
> Maintainability on the other hand emphasizes on code being more 
manageable 
> rather than taking on the assumption that simple code is more 
manageable. 
> 
> Emphasis on "simplicity" might encourage your students to 
do "crazy" things 
> like uneccessarily unrolling loops, keeping themselves from using 
objects 
> (yes, some programmers define simplicity that way) and using a 
plethora of 
> variables instead of using arrays. (Refer to 
http://www.thedailywtf.com for 
> such examples)
> 
> I think that by emphasizing on maintainability instead, you would 
be able to 
> do your students (and their future employers/employees) a great 
favor.
> 
> -Jon
> 

I agree! Hear hear!

I have often contemplated how I would teach a 200 or 300 level 
programming class. I thought I might do something like this:

Devise a product that is to be developed over several iterations 
during the semester.

Each piece builds upon the other. Each assignment builds towards the 
final product. It would have to be carefully designed to give the 
desired results.

Intentionally make the first User Story some simple yet essential 
piece just like you would do in the real world. Then add the features 
you want and also change the performance constraints. Have the 
automated release tests ready, as the teacher I would code those up 
during the summer or between semesters. Suppose one of the iterations 
developed a simple piece with no performance requirements. Then in 
the next iteration change the requirements and add the refactoring of 
that piece for the iteration. Man, you could really teach a lot about 
the real world. In conjunction with performance requirements changes 
you could switch maybe a logging piece from using a flat file to XML 
and then finally to an SQL database. All kinds of stuff! Sounds fun! 
Through this maybe you could continue it on to another related class, 
like a 342 and 343 class or something. You could show how patterns 
help out. This could really prepare one to come out of the gate well 
ahead of the competition. It is exciting to think of the 
possibilities.

Geoff





To Post a message, send it to:   extremeprogramming@eGroups.com

To Unsubscribe, send a blank message to: extremeprogramming-unsubscribe@eGroups.com

ad-free courtesy of objectmentor.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/extremeprogramming/

<*> To unsubscribe from this group, send an email to:
    extremeprogramming-unsubscribe@yahoogroups.com

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic