<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p></p>
<div>Thanks Bert, but then, what is the difference between #shouldBeImplemented and #subclassResponsibility?</div>
<div><br>
</div>
<div>And if I understand you correctly, the method stub created by a debugger should rather insert a #notYetImplemented than a #shouldBeImplemented, shouldn't it?</div>
<div><br>
</div>
<div>Best,</div>
<div>Christoph</div>
<p></p>
<div id="Signature">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>Von:</b> Squeak-dev <squeak-dev-bounces@lists.squeakfoundation.org> im Auftrag von Bert Freudenberg <bert@freudenbergs.de><br>
<b>Gesendet:</b> Samstag, 25. Januar 2020 01:13:10<br>
<b>An:</b> The general-purpose Squeak developers list<br>
<b>Betreff:</b> Re: [squeak-dev] #shouldBeImplemented vs #notYetImplemented</font>
<div> </div>
</div>
<div>
<div dir="ltr">
<div dir="ltr">
<div dir="ltr">
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">
If a class has a method sending #shouldBeImplemented, then subclasses are supposed to override that method, without modifying the superclass method. It basically marks that class as abstract.</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">
<br>
</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">
In contrast, #notYetImplemented indicates that the method itself should be modified, replacing the #notYetImplemented send with the actual code.</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">
<br>
</div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small;color:rgb(0,0,0)">
- Bert -</div>
<br>
</div>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, Jan 24, 2020 at 7:10 AM Thiede, Christoph <<a href="mailto:Christoph.Thiede@student.hpi.uni-potsdam.de">Christoph.Thiede@student.hpi.uni-potsdam.de</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div id="gmail-m_6101118247084945958divtagdefaultwrapper" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif" dir="ltr">
<p>Hi all,</p>
<p><br>
</p>
<p>what exactly is the intended difference between #shouldBeImplemented and #notYetImplemented? It feels a bit confusing.</p>
<p>I have always used #shouldBeImplemented only because it is predefined by the Debugger.</p>
<div id="gmail-m_6101118247084945958Signature">
<div id="gmail-m_6101118247084945958divtagdefaultwrapper" dir="ltr" style="font-size:12pt;color:rgb(0,0,0);font-family:Calibri,Helvetica,sans-serif,EmojiFont,"Apple Color Emoji","Segoe UI Emoji",NotoColorEmoji,"Segoe UI Symbol","Android Emoji",EmojiSymbols">
<div name="divtagdefaultwrapper">
<div>
<div id="gmail-m_6101118247084945958Item.MessagePartBody">But today I met #notYetImplemented and now wonder which one I should use:
<div id="gmail-m_6101118247084945958Item.MessageUniqueBody" style="font-family:wf_segoe-ui_normal,"Segoe UI","Segoe WP",Tahoma,Arial,sans-serif,serif,EmojiFont">
<div dir="ltr">
<div id="gmail-m_6101118247084945958divtagdefaultwrapper"><font face="Calibri,Helvetica,sans-serif,EmojiFont,Apple Color Emoji,Segoe UI Emoji,NotoColorEmoji,Segoe UI Symbol,Android Emoji,EmojiSymbols">
<div id="gmail-m_6101118247084945958Signature">
<div style="margin:0px"><font style="font-family:Calibri,Arial,Helvetica,sans-serif,serif,EmojiFont">
<div><font size="3" color="black"><span style="font-size:12pt"><a href="http://www.hpi.de/" rel="noopener noreferrer" id="gmail-m_6101118247084945958LPNoLP" target="_blank"><font size="2"><span id="gmail-m_6101118247084945958LPlnk909538"><font color="#757B80"></font></span></font></a></span></font></div>
</font></div>
</div>
</font></div>
</div>
</div>
</div>
<div id="gmail-m_6101118247084945958Item.MessagePartBody">
<ul style="margin-bottom:0px;margin-top:0px">
<li>Both are detected by the debugger</li><li>But #notYetImplemented has its own subclass implementation of NotImplemented which handles #receiverClass and #selector. I like this, it has a bit more object-orientation appeal.</li><li>The names don't give me an indication to any semantical difference</li><li>They are not in the same message category of Object at all!</li><li>#shouldBeImplemented raises a specific error message, while that one of #notYetImplemented is generic and less precise</li><li>But why does the #shouldBeImpleemented message mention "or a superclass should implement"? Given the subclass Bar of the superclass Foo and I compile '#baz ^self shouldBeImplemented' on Bar. Why should this indicate that #baz might have to implemented on
 Foo instead?</li><li>Btw, we also have Object >> #required, which looks more Trait specific. Is it a problem that Tools-Debugger depends on Traits via this selector?</li></ul>
</div>
<div id="gmail-m_6101118247084945958Item.MessagePartBody"><br>
</div>
<div id="gmail-m_6101118247084945958Item.MessagePartBody">However, I think we might have some heterogenic duplication here, or at least miss any documentation of the differences. Can you tell me more about the history of both selectors? Should we try to merge
 them?</div>
<div id="gmail-m_6101118247084945958Item.MessagePartBody"><br>
</div>
<div id="gmail-m_6101118247084945958Item.MessagePartBody">Best,</div>
<div id="gmail-m_6101118247084945958Item.MessagePartBody">Christoph</div>
</div>
<div><font size="2" color="#808080"></font></div>
</div>
</div>
</div>
</div>
</div>
<br>
</blockquote>
</div>
</div>
</body>
</html>