This may be personal preference, but I do not like having more method arguments after a block argument... because if the block is longer it may not be visible...
e.g.
stream
surround: [ :aStream |��
self size > 100
ifTrue: [��
aStream nextPutAll: 'size '.
self size printOn: aStream ]
ifFalse: [��
self keysSortedSafely
do: [ :key |��
aStream
print: key;
nextPutAll: '->';
print: (self at: key);
space ] ] ]
between: $(
and: $)
vs between:and:surround:
if you actually run this through formatter in Pharo, the between:and: is not even visible --- you have to scroll to see it. Of course if aBlock is a variable, than my argument falls.
From visual perspective the current state actually isn't that bad because you immediately see where is beginning and where is end without even looking... with surround:between:and: not so much...