[Pharo-project] 'Win 32' and others....
What do you think about that? I think that would be good. Issue 2159: We should clean all the platformName = 'Win32' and: [osVersion = 'CE'] This is not good to have all these strings to encode platform support. We should move some code to SmalltalkImage SmalltalkImage>>win32 ^ 'Win 32' SmalltalkImage>>isWin32CE ^ (self platformName = 'Win32' and: [self osVersion = 'CE']) ... Stef
+1 Kent beck smalltalk good practices book. On Mar 17, 2010, at 9:11 PM, Stéphane Ducasse wrote:
What do you think about that? I think that would be good.
Issue 2159: We should clean all the platformName = 'Win32' and: [osVersion = 'CE']
This is not good to have all these strings to encode platform support. We should move some code to SmalltalkImage
SmalltalkImage>>win32 ^ 'Win 32'
SmalltalkImage>>isWin32CE ^ (self platformName = 'Win32' and: [self osVersion = 'CE'])
...
Stef _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/3/17 Stéphane Ducasse <stephane.ducasse@inria.fr>:
What do you think about that? I think that would be good.
Issue 2159: We should clean all the platformName = 'Win32' and: [osVersion = 'CE']
This is not good to have all these strings to encode platform support. We should move some code to SmalltalkImage
SmalltalkImage>>win32 Â Â Â Â ^ 'Win 32'
SmalltalkImage>>isWin32CE Â Â Â Â ^ (self platformName = 'Win32' and: [self osVersion = 'CE'])
...
Concerning readability, both are readable. Concerning discovering capability (what are all specific Win32CE features in the image ?), the message is easier to track than the String. Concerning maintenance (hability to change implementation details/features), the message is clearly superior. For example, I can imagine you buy a device that isWin32CECompatible. OK, bad example it's more past than future ;) Nicolas
Stef _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
:) I was concerned about 'win32' versus 'Win 32' versus 'Win32' I'm having fun (really) rewriting by hand all the SmalltalkImage current and I reading the code and fixing it. This is cool I'm learning a lot of simple stuff. Stef
Issue 2159: We should clean all the platformName = 'Win32' and: [osVersion = 'CE']
This is not good to have all these strings to encode platform support. We should move some code to SmalltalkImage
SmalltalkImage>>win32 ^ 'Win 32'
SmalltalkImage>>isWin32CE ^ (self platformName = 'Win32' and: [self osVersion = 'CE'])
...
Concerning readability, both are readable. Concerning discovering capability (what are all specific Win32CE features in the image ?), the message is easier to track than the String. Concerning maintenance (hability to change implementation details/features), the message is clearly superior.
For example, I can imagine you buy a device that isWin32CECompatible. OK, bad example it's more past than future ;)
Nicolas
Stef _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/3/17 Stéphane Ducasse <stephane.ducasse@inria.fr>:
:) I was concerned about 'win32' versus 'Win 32' versus 'Win32' I'm having fun (really) rewriting by hand all the SmalltalkImage current and I reading the code and fixing it. This is cool I'm learning a lot of simple stuff.
Stef
That's why I tend to avoid automated scripts. You always want to rewrite more than you thought ! At least, I try to review changed methods, there's always something to learn. Nicolas
Issue 2159: We should clean all the platformName = 'Win32' and: [osVersion = 'CE']
This is not good to have all these strings to encode platform support. We should move some code to SmalltalkImage
SmalltalkImage>>win32 Â Â Â Â ^ 'Win 32'
SmalltalkImage>>isWin32CE Â Â Â Â ^ (self platformName = 'Win32' and: [self osVersion = 'CE'])
...
Concerning readability, both are readable. Concerning discovering capability (what are all specific Win32CE features in the image ?), the message is easier to track than the String. Concerning maintenance (hability to change implementation details/features), the message is clearly superior.
For example, I can imagine you buy a device that isWin32CECompatible. OK, bad example it's more past than future ;)
Nicolas
Stef _______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
On 3/17/10 1:11 PM, Stéphane Ducasse wrote:
What do you think about that? I think that would be good.
Issue 2159: We should clean all the platformName = 'Win32' and: [osVersion = 'CE']
This is not good to have all these strings to encode platform support. We should move some code to SmalltalkImage
isn't that what the OSPlatform classes are meant to do? Michael
No idea but they all check Smalltalk platformName = 'Win32' with strings and sometimes even (Smalltalk getSystemAttribute: 1001) = 'Win32' I prefer Smalltalk isWin32 But I think that we can do better and probably in the future. Smalltalk should be a bridge to real class like platform that will contain this code. Smalltalk platform isWin32 Right now let us try to avoid this strings everywhere. Stef On Mar 18, 2010, at 9:38 PM, Michael Rueger wrote:
On 3/17/10 1:11 PM, Stéphane Ducasse wrote:
What do you think about that? I think that would be good.
Issue 2159: We should clean all the platformName = 'Win32' and: [osVersion = 'CE']
This is not good to have all these strings to encode platform support. We should move some code to SmalltalkImage
isn't that what the OSPlatform classes are meant to do?
Michael
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
2010/3/18 Michael Rueger <m.rueger@acm.org>:
On 3/17/10 1:11 PM, Stéphane Ducasse wrote:
What do you think about that? I think that would be good.
Issue 2159: We should clean all the platformName = 'Win32' and: [osVersion = 'CE']
This is not good to have all these strings to encode platform support. We should move some code to SmalltalkImage
isn't that what the OSPlatform classes are meant to do?
Michael
Should Smalltalk os redirect to current OSPlatform ?
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
participants (4)
-
Fernando olivero -
Michael Rueger -
Nicolas Cellier -
Stéphane Ducasse