<div class="gmail_quote"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="gmail_quote"><div class="im"><div></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
I want to call it like KisStrokeJobStrategy. What do you think, is it easy to distinguish it form KisStrokeJob class?<br></blockquote><div><br></div></div><div>It is easy to distinguish because they are related. KisStrokeJobStrategy works with instances of KisStrokeJob (if I understood the diagram correctly), describing how to use them.</div>
<div><br></div><div>I think the name KisStrokeJobStrategy is much better.</div><div><br></div><div>Dab is very specific to brushes that work like stamps. New brush engines like the Sketch Brush do not work with "dabs" anymore; they may use PaintAt, but they are not stamping seals over the canvas 1 at a time. So I think we should look for a better name to refer to single operations of painting, something more general.</div>
</div></blockquote><div><br>Ok, I'll rename it then.<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="gmail_quote">
<div class="im"><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">2) I don't like the fact that the definition of the subtype of the class is put into the beginning of the name.<br>
<br>KisPainterBasedStrokeStrategy -- probably, not good<br>KisStrokeStrategyPainterBased -- better?<br><br>FreehandStrokeStrategy -- not good<br>KisStrokeStrategyFreehand -- better?<br><br>What do you think? What is the common practice here?<br>
</blockquote><div><br></div></div><div>I (think I) have seen both practices.</div><div>I've seen the Subtype-goes-at-the-end naming strategy in classes like KoDocumentSection (there's -View, -Delegate and -Model) and for me it was very easy to follow.</div>
<div><br></div><div>The reason it is easy to follow is because I can simply grep for classes with the same root and will find all subtypes. That won't work with the reverse style of naming which is also less logical if you ask me (obviously I can perform a better regular expression search but... it will be more contrived).</div>
<div><br></div><div>I think using:</div><div><br></div><div>Global Prefix - Type - Subtype - Subsubtype</div><div><br></div><div>Is the most logical convention, and useful when looking for related classes.</div></div></blockquote>
<div><br>Yes, I was not sure about it because I thought it might become quite difficult to read. Btw, we have a kind of such naming for KisTool hierarchy: KisToolPaint, KisToolFreehand.<br>And we can expand this idea to namespaces, it'll be more obvious, i guess: StrokeStrategy::Freehand, StrokeJobStrategy::Freehand.<br clear="all">
</div></div><br>-- <br>Dmitry Kazakov<br>