Four Patterns at the Heart of Good Programming Style

300 views
Skip to first unread message

philip schwarz

unread,
Jan 27, 2013, 2:22:49 PM1/27/13
to growing-object-o...@googlegroups.com
Hello everyone.

I have just finished putting together a presentation on 4 of Kent Beck's patterns from 'Smalltalk Best Practice Patterns' [1] and 'Implementation Patterns' [2].

Please allow me to share the slides and notes:


How important to you are the 4 patterns when you develop software?

Thanks.

Philip Schwarz 


Steve Freeman

unread,
Jan 27, 2013, 2:36:27 PM1/27/13
to growing-object-o...@googlegroups.com
33Mb? How about pdf and a bit of compression?

S

philip schwarz

unread,
Jan 27, 2013, 3:25:50 PM1/27/13
to growing-object-o...@googlegroups.com
They are heavy on graphics. Because of that they compress very poorly.

They seem to download quite quickly with a good internet connection.

They are even bigger as PDFs.

Powerpoint viewer: 

Please let me know if the size is a definite problem and I'll see what I can do.

Philip

Lance Walton

unread,
Jan 27, 2013, 4:11:13 PM1/27/13
to growing-object-o...@googlegroups.com
Wow! That is graphic heavy. Interesting style.

I think slide 79 has an error. foobar is defined to return x + y, rather than foo(x) + bar(y).

Regards,

Lance

On 27 Jan 2013, at 19:22, philip schwarz wrote:

--
 
 
 

Philip schwarz

unread,
Jan 27, 2013, 4:13:47 PM1/27/13
to growing-object-o...@googlegroups.com
Thanks for the correction.

Sent from my iPhone
--
 
 
 

Witold Szczerba

unread,
Jan 27, 2013, 4:39:11 PM1/27/13
to growing-object-o...@googlegroups.com
Hi,
for me he problem is I do not have either Windows or Mac. Phone and tablet gave up, laptop tried with LibreOffice, but lots of slides are broken. Long live the Powerpoint and Office Open XML!


--
 
 
 

philip schwarz

unread,
Jan 27, 2013, 6:05:14 PM1/27/13
to growing-object-o...@googlegroups.com, lance.c...@googlemail.com
>Wow! That is graphic heavy. Interesting style.
I was trying to apply at least some of the ideas in Fowler's 'Visual Channel' article.

Donaldson, John

unread,
Jan 28, 2013, 3:43:04 AM1/28/13
to growing-object-o...@googlegroups.com

(It seems to download pretty quickly here.)

 

I think the slide style is probably ok – but without accompanying notes, and without having you to present it, it’s hard to do more than feel the outline of the presentation. Texty-style slides are good as notes if that’s all you’ve got. But for sure they would more interesting to look at with you presenting them.

 

John D.

--
 
 
 

philip schwarz

unread,
Jan 28, 2013, 3:50:53 AM1/28/13
to growing-object-o...@googlegroups.com
There are two links: one for the slides and one for the full notes.

Maybe what you are saying is that the separation of the two is problematic.

Thanks.

Philip

philip schwarz

unread,
Jan 28, 2013, 3:52:47 AM1/28/13
to growing-object-o...@googlegroups.com
Links to PDFversions:


On Monday, 28 January 2013 08:43:04 UTC, JohnD wrote:

Donaldson, John

unread,
Jan 28, 2013, 4:38:18 AM1/28/13
to growing-object-o...@googlegroups.com

No! I completely ignored the second link. L Sorry for that.

I will take a look.

 

John D.

 

From: growing-object-o...@googlegroups.com [mailto:growing-object-o...@googlegroups.com] On Behalf Of philip schwarz
Sent: 28 January 2013 09:51
To: growing-object-o...@googlegroups.com
Subject: Re: [GOOS] Four Patterns at the Heart of Good Programming Style

 

There are two links: one for the slides and one for the full notes.

 

Maybe what you are saying is that the separation of the two is problematic.

 

Thanks.

 

Philip

On Monday, 28 January 2013 08:43:04 UTC, JohnD wrote:

(It seems to download pretty quickly here.)

 

I think the slide style is probably ok – but without accompanying notes, and without having you to present it, it’s hard to do more than feel the outline of the presentation. Texty-style slides are good as notes if that’s all you’ve got. But for sure they would more interesting to look at with you presenting them.

 

John D.

 

From: growing-object-o...@googlegroups.com [mailto:growing-object-o...@googlegroups.com] On Behalf Of philip schwarz
Sent: 27 January 2013 21:26
To: growing-object-o...@googlegroups.com
Subject: Re: [GOOS] Four Patterns at the Heart of Good Programming Style

 

They are heavy on graphics. Because of that they compress very poorly.

 

They seem to download quite quickly with a good internet connection.

 

They are even bigger as PDFs.

 

Powerpoint viewer: 

 

Please let me know if the size is a definite problem and I'll see what I can do.

 

Philip

On Sunday, 27 January 2013 19:36:27 UTC, Steve Freeman wrote:

33Mb? How about pdf and a bit of compression?

S

On 27 Jan 2013, at 19:22, philip schwarz wrote:
> I have just finished putting together a presentation on 4 of Kent Beck's
> patterns from 'Smalltalk Best Practice Patterns' [1] and 'Implementation
> Patterns' [2].
>
> Please allow me to share the slides and notes:
>
> https://docs.google.com/file/d/0B58HKx0bzlVrSXlXTTN4eS1Fa1U/edit
> https://docs.google.com/file/d/0B58HKx0bzlVrSjdjcnUtaUpET0U/edit
>
> How important to you are the 4 patterns when you develop software?

--
 
 
 

--
 
---
You received this message because you are subscribed to the Google Groups "Growing Object-Oriented Software" group.
To unsubscribe from this group, send email to growing-object-oriente...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Donaldson, John

unread,
Jan 28, 2013, 4:47:09 AM1/28/13
to growing-object-o...@googlegroups.com

I never saw notes placed there before. (In the outline, rather than in the notes section of the slide)…

To unsubscribe from this group and stop receiving emails from it, send an email to growing-object-oriente...@googlegroups.com.

philip schwarz

unread,
Jan 28, 2013, 4:55:54 AM1/28/13
to growing-object-o...@googlegroups.com
agree, unusual: the notes are what the presentation looked like before I turned it from (largely) text into images (though some graphical slides have made their way back into the notes).

This is not by design. It is just the way it evolved.

Thanks,

Philip

To unsubscribe from this group, send email to growing-object-oriented-software+unsubscribe@googlegroups.com.


For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
 
---
You received this message because you are subscribed to the Google Groups "Growing Object-Oriented Software" group.

To unsubscribe from this group and stop receiving emails from it, send an email to growing-object-oriented-software+unsubscribe@googlegroups.com.

Luca Minudel

unread,
Jan 28, 2013, 10:09:57 AM1/28/13
to growing-object-o...@googlegroups.com

here my feedback if that help.

- you mention ocp, in goos I often see ocp together with dip.

- when you mention small methods and objects, there I find interesting to talk about the tread-off between srp and LoD

- here the list the refactoring that I use when doing goos style unit testing (those 6 with the name in bold): https://docs.google.com/spreadsheet/ccc?key=0Ap3vkMRgoKiIcDFRbGlxVzVUOF9uNWtHemRmbFJsQnc

HTH, Luca Minudel

philip schwarz

unread,
Jan 28, 2013, 6:49:13 PM1/28/13
to growing-object-o...@googlegroups.com
Thanks Luca,

Let me mull over that.

Philip.

philip schwarz

unread,
Jan 28, 2013, 6:58:43 PM1/28/13
to growing-object-o...@googlegroups.com
Hey John,

thanks for your suggestion in the direct e-mail you sent me.

I have now merged the two docs into a single powerpoint presentation with the usual supporting text in the notes window.


P.S. When I get a chance I'll see if I can create an analogous PDF version.

Philip

On Monday, 28 January 2013 09:47:09 UTC, JohnD wrote:

To unsubscribe from this group, send email to growing-object-oriented-software+unsubscribe@googlegroups.com.


For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
 
---
You received this message because you are subscribed to the Google Groups "Growing Object-Oriented Software" group.

To unsubscribe from this group and stop receiving emails from it, send an email to growing-object-oriented-software+unsubscribe@googlegroups.com.

Donaldson, John

unread,
Jan 29, 2013, 4:24:04 AM1/29/13
to growing-object-o...@googlegroups.com

Philip,

 

I had a look at the merged deck. It’s much easier to understand like that.

 

Some comments:

-          The slides are usually made of several images, and often many images. My brain takes them to be a sort of semantic puzzle, so I spend a lot of effort trying to figure out the meaning, and whether it fits your intention. I would recommend simplifying them: which image speaks best to the topic of the slide?

-          There are a lot of slides. I usually estimate about 2 mins per slide. That’s about four hours.

-          There are only 4 patterns. I suspect you could radically prune down to a few slides for the four patterns, and a few “how to” slides. It depends a bit on your audience though.

 

John D.

 

From: growing-object-o...@googlegroups.com [mailto:growing-object-o...@googlegroups.com] On Behalf Of philip schwarz
Sent: 29 January 2013 00:59
To: growing-object-o...@googlegroups.com
Subject: Re: [GOOS] Four Patterns at the Heart of Good Programming Style

 

Hey John,

 

thanks for your suggestion in the direct e-mail you sent me.

 

I have now merged the two docs into a single powerpoint presentation with the usual supporting text in the notes window.

 

 

P.S. When I get a chance I'll see if I can create an analogous PDF version.

 

Philip

On Monday, 28 January 2013 09:47:09 UTC, JohnD wrote:

I never saw notes placed there before. (In the outline, rather than in the notes section of the slide)…

 

From: growing-object-o...@googlegroups.com [mailto:growing-object-o...@googlegroups.com] On Behalf Of Donaldson, John
Sent: 28 January 2013 10:38
To: growing-object-o...@googlegroups.com
Subject: RE: [GOOS] Four Patterns at the Heart of Good Programming Style

 

No! I completely ignored the second link. L Sorry for that.

I will take a look.

 

John D.

 

From: growing-object-o...@googlegroups.com [mailto:growing-object-o...@googlegroups.com] On Behalf Of philip schwarz
Sent: 28 January 2013 09:51
To: growing-object-o...@googlegroups.com
Subject: Re: [GOOS] Four Patterns at the Heart of Good Programming Style

 

There are two links: one for the slides and one for the full notes.

 

Maybe what you are saying is that the separation of the two is problematic.

 

Thanks.

 

Philip

On Monday, 28 January 2013 08:43:04 UTC, JohnD wrote:

(It seems to download pretty quickly here.)

 

I think the slide style is probably ok – but without accompanying notes, and without having you to present it, it’s hard to do more than feel the outline of the presentation. Texty-style slides are good as notes if that’s all you’ve got. But for sure they would more interesting to look at with you presenting them.

 

John D.

 

To unsubscribe from this group, send email to growing-object-oriente...@googlegroups.com.


For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
 
---
You received this message because you are subscribed to the Google Groups "Growing Object-Oriented Software" group.

To unsubscribe from this group and stop receiving emails from it, send an email to growing-object-oriente...@googlegroups.com.


For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
 
---
You received this message because you are subscribed to the Google Groups "Growing Object-Oriented Software" group.

To unsubscribe from this group, send email to growing-object-oriente...@googlegroups.com.

philip schwarz

unread,
Jan 29, 2013, 9:06:57 AM1/29/13
to growing-object-o...@googlegroups.com

philip schwarz

unread,
Jan 29, 2013, 5:16:24 PM1/29/13
to growing-object-o...@googlegroups.com
Hi John,

thanks for your input.

>There are a lot of slides. I usually estimate about 2 mins per slide. That’s about four hours.

Many slides have less than a sentence worth of images. When I give the presentation I cover multiple slides a minute. I get through the lot in 40-50 min.

>There are only 4 patterns. I suspect you could radically prune down to a few slides for the four patterns, and a few “how to” slides. It depends a bit on 
your audience though.

I created the presentation for those who don't know the patterns, or who don't know Beck's full motivation/justification for the patterns. 
I personally found the motivation and the 'good style' indicators of great value to completely grok the patterns, so I want them in the presentation.
Right now I don't feel the need to prune it. I have given the presentation and it was well received. 
Of course with time, and for different audiences that may well change.

>The slides are usually made of several images, and often many images. My brain takes them to be a sort of semantic puzzle, so I spend a lot of effort 
trying to figure out the meaning, and whether it fits your intention.

I asked my audience if they found there to be too many images. I told them it is very time-consuming to select suitable images.
The answer was that there weren't too many images, but that fewer would still be ok if sourcing them was too time-consuming.
Two members of the audience reported a similar experience to the one you describe: their brain being very busy matching the images to my words.
One of them said that was a good thing because with words on the slide the tendency is to fall asleep, whereas this constant visual challenge 
kept them stimulated and therefore alert.

>I would recommend simplifying them: which image speaks best to the topic of the slide? 

Fowler says that what we don't want in a presentation is for the audience to see repeated in bullet points what they are hearing with their ears.
I am aware that I am just replacing bullet points with images, so the audience is still being fed the same message twice.
One advantage of having lots of images is that it makes it really easy for me to remember what I want to say on a slide without having to 
rehearse the presentation.
Conversely, I fear that if I cut the number of images down to one or two, my memory would fail me unless I rehearsed adequately. 

Thanks again for your input.

Philip.

To unsubscribe from this group, send email to growing-object-oriented-software+unsubscribe@googlegroups.com.


For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
 
---
You received this message because you are subscribed to the Google Groups "Growing Object-Oriented Software" group.

To unsubscribe from this group and stop receiving emails from it, send an email to growing-object-oriented-software+unsubscribe@googlegroups.com.


For more options, visit https://groups.google.com/groups/opt_out.
 
 

--
 
---
You received this message because you are subscribed to the Google Groups "Growing Object-Oriented Software" group.

To unsubscribe from this group, send email to growing-object-oriented-software+unsubscribe@googlegroups.com.

Johnno Nolan

unread,
Jan 29, 2013, 6:30:48 PM1/29/13
to growing-object-o...@googlegroups.com
I've just gone through the slides and the subject is great but I'd like to echo the point that there's alot of slides. Most of them I could dechiper but I'd say that this looks more like a visual script rather than a set of visual props. As a consumer of talks I like to be adressed by the speaker and not his or her back as they crane their necks up at the screen. As a giver of talks I've done that and feel less at ease. I want to engage with my peers. I guess that's my style though.

Johnno


To unsubscribe from this group and stop receiving emails from it, send an email to growing-object-oriente...@googlegroups.com.

philip schwarz

unread,
Jan 30, 2013, 5:19:31 PM1/30/13
to growing-object-o...@googlegroups.com
Hi John,

>I've just gone through the slides and the subject is great 
thanks

>but I'd like to echo the point that there's alot of slides.
yes, when I use them, about 40-50 minutes worth of slides.

 >Most of them I could dechiper
yes, match each picture to a portion of a sentence that has just been uttered. 

>but I'd say that this looks more like a visual script rather than a set of visual props.
you are absolutely right. I use it as a script. Faced with the two problems of (a) mapping lots of text to images and (b) selecting images that cause me to remember the text from which they originate, so that I don't have to read out the text (which I found unworkable), led me to the current approach. I have traded bullet points for images. As Fowler says in http://martinfowler.com/bliki/VisualChannel.html"stock photos are the bullet points of the 21st century".

So yes, the images, for some people (how many? any idea?), may be a distraction, just like bullet points are. But which do you find more distracting: reading the words being uttered by the presenter, or mapping those words to the images in front of you? Is the former ever fun? Did you find the latter at least some fun? Maybe some people are more comfortable with images and others with written words. This for me was an experiment. I was quite doubtful, but it seems to be workable. I am interested in your opinion.

>As a consumer of talks I like to be addressed by the speaker and not his or her back as they crane their necks up at the screen. 
In my case the audience was sitting around a long meeting room table, and I was just one of the people at the table. The eyes were mostly on the screen, although I would speak in the direction of those who took a break from the screen. My voice was quite loud and I did gesticulate, so I think the audience did feel as if it was being addressed and engaged.

Thanks for you input.
To unsubscribe from this group and stop receiving emails from it, send an email to growing-object-oriented-software+unsubscribe@googlegroups.com.

Lance Walton

unread,
Jan 31, 2013, 3:42:51 AM1/31/13
to growing-object-o...@googlegroups.com
As a presentation style, I think it's interesting. I'd like to see it in action.

To unsubscribe from this group and stop receiving emails from it, send an email to growing-object-oriente...@googlegroups.com.

Johnno Nolan

unread,
Jan 31, 2013, 3:55:40 AM1/31/13
to growing-object-o...@googlegroups.com
+1 if you ever bring it up north

philip schwarz

unread,
Feb 13, 2013, 6:33:46 PM2/13/13
to growing-object-o...@googlegroups.com
15 years after its publication, @KentBeck ' s Smalltalk Best Practice Patterns is now available on O'Reilly Safari: http://my.safaribooksonline.com/book/software-engineering-and-development/patterns/9780132852098
Reply all
Reply to author
Forward
0 new messages