Le 3/7/15 09:09, jtuc...@objektfabrik.de a écrit :
Stef,

So we're finding more and more problems in just a single line of code ;-)

Do you see advantages in this piece of code? Would it be friendlier to the Compiler/VM or a programmer in your opinion?
yes :)



|nextOrNextAfterNext|

nextOrNextAfterNext := stream next ifNil: [stream next].
^nextOrNextAfterNext

Joachim



Am 02.07.15 um 23:23 schrieb stepharo:
Hi matthieu

on my side:

    stream next ifNil: [^stream next].

When you execute a block (far away from the place it was created), it acts as an exception, it stops the execution of currently executed methods and return to its home context (method that led to the creation of the block) Read deep into Pharo because this is a great chapter. So people should avoid to put return statement into a block since a block returns already the value of its last expression.

So for me
    arg: [ ^ ... ]

is a big warning.

Stef



Le 1/7/15 23:55, Matthieu Lacaton a écrit :

This whole conversation really makes me want to ask: How do you know if some code is bad, good or completely ugly ? I've not been programming for long but I've already heard sentences like this: "Damn this piece of code is so bad !" so often that I am really wondering. What are the rules ? Performant code makes total sense but it seems there is something else.

Le 1 juil. 2015 23:36, "stepharo" <steph...@free.fr <mailto:steph...@free.fr>> a écrit :

    I know :D

    Le 1/7/15 15:19, jtuc...@objektfabrik.de
    <mailto:jtuc...@objektfabrik.de> a écrit :

        Stef,

        you're shooting the wrong man! ;-) The crime was committed
        in your team ;-))))

        See you in Brescia

        Joachim

        Am 30.06.15 um 19:19 schrieb stepharo:



            Le 30/6/15 14:39, jtuc...@objektfabrik.de
            <mailto:jtuc...@objektfabrik.de> a écrit :

                Ah, Okay, you are mentioning the one and only one
                case in which this could make sense.... ;-)

                Something like

                stream next ifNil: [^stream next].


            so ugly.
            Please we should not teach how to do exception with
            blocks :)


                So there may be cases where the two sends do not
                return the same result. But that is, of course, not
                what the OP suggested. Nevertheless, I was too fast
                in criticizing ;-)

                I would consider code like that "less easy" to
                maintain, however.

                Nice thinking Kata ;-)

                Joachim



                Am 30.06.15 um 14:22 schrieb Esteban Lorenzano:

                    ah yeah :)

                    I assumed

                    first "something aMsg" ~= second "something aMsg”

                    In case is the same, the correct way is as you say:

                    ^ something aMsg ifNil: [ anotherResult ]

                    (sorry, he :P)

                        On 30 Jun 2015, at 13:43,
                        jtuc...@objektfabrik.de
                        <mailto:jtuc...@objektfabrik.de> wrote:

                        Am 30.06.15 um 13:40 schrieb Peter Uhnák:

                            Make sense if there's code in between.

                        not sure what you're saying. I mean, sending
                        the message twice makes sense if you already
                        know the outcome? Hmmm...

                            something aMsg ifNil:[ ^ something aMsg
                            ]. "yay for guards!"
                            "much more code"
                            ^ aNotherResult

                            Peter


-- -----------------------------------------------------------------------

                        Objektfabrik Joachim Tuchel
                        mailto:jtuc...@objektfabrik.de
                        <mailto:jtuc...@objektfabrik.de>
                        Fliederweg 1 http://www.objektfabrik.de
                        D-71640 Ludwigsburg
                        http://joachimtuchel.wordpress.com
                        Telefon: +49 7141 56 10 86 0
<tel:%2B49%207141%2056%2010%2086%200> Fax: +49 7141 56 10 86 1
                        <tel:%2B49%207141%2056%2010%2086%201>
















--
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchelmailto:jtuc...@objektfabrik.de
Fliederweg 1http://www.objektfabrik.de
D-71640 Ludwigsburghttp://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1


Reply via email to