Tx serge

- I think that we should agree on the pragma or way to express it. May be we can do the same as in Python and use a comment instead of a pragma. I prefer a pragma because we can query them easily.

So any idea instead of
    <exp: value:>

    <expression: return: >

withExtension: aString

    "Returns a new file reference with a different file extension"

    <exp: '/tmp/file.txt' asFileReference withExtension: 'log'

    value: '/tmp/file.log' asFileReference >

    ^ self withPath: (self path withExtension: aString)


- then incrementally we can start taking on system for example FS and use it.

Stef


Le 18/8/16 à 11:51, Serge Stinckwich a écrit :
On Thu, Aug 18, 2016 at 9:34 AM, stepharo <steph...@free.fr> wrote:
Hi guys

I'm fed up to get methods without comments and without little examples. In
+1 !
We can setup a small group of people interested to build examples at ESUG.

FileSystem, I wrote most of the comments and I tried to add an obvious
example:

basenameWithIndicator
         "Returns the basename with the indicator appended, i.e.
/foo/gloops.taz basenameWithIndicator is 'gloops.taz', whereras /foo
basenameWithIndicator is 'foo/'"

     ^ self basename , self indicator


Now let us look at:

withExtension: aString
     ^ self withPath: (self path withExtension: aString)


Nice comment :(

I would like to support PythonDoctest (yes we are not the only one to have
ideas let us face is dear friends)
+1

https://en.wikipedia.org/wiki/Doctest

def multiply(a, b):
     """
     >>> multiply(4, 3)
     12
     >>> multiply('a', 3)
     'aaa'
     """
     return a * b

Because we can make sure that the comments are accurate.


withExtension: aString

     "Returns a new file reference with a different file extension"

     <exp: '/tmp/file.txt' asFileReference withExtension: 'log'

     value: '/tmp/file.log' asFileReference >

     ^ self withPath: (self path withExtension: aString)


It will help us to have a distinction between printOn: and displayString

Typically

     '/tmp/file.txt' asFileReference withExtension: 'log'

     printString is bad

     since it returns File @ '/tmp/file.log' which is not an reexecutable
expression



So let me know what you think.
     - tell me that we have already test unit (yes the ones I wrote too)
         => they do not have the same purpose

For me this is getting to be important.
Maybe a subset of Pharo could be defined as core with a kind of API
freeze, so we can spend some time
documenting the corresponding methods and classes.



Reply via email to