← Back to team overview

ooc-dev team mailing list archive

Re: j/ooc doesn't allow unqualified member access.

 

Probably so, and I don't have much personally against unqualified member access, I was just raising the issue.

As far as the sane coder thing, the room would be a mess but their napkin would be folded. (I do agree with you though)

On Apr 10, 2010, at 4:27 AM, Scott Olson <scott@xxxxxxxxxxxxxxx> wrote:

You're right about the potential for not knowing where a variable comes from, but the programmer is smart enough to avoid that in the cases where it becomes confusing. We *could* force them to use "This a + this b + This c + d" or whatever, but I would much rather allow them to be used unqualified and let the
programmer use qualification where it makes sense.

As for not all programmers being sane, I don't think forcing them to qualify
their static member accesses will fix them...

On Friday 09 April 2010 20:39:42 Oddity007 wrote:
A question I'm not sure has been asked is whether it would be easy to
distiquish whether a member is that of the class, of it's instance, a
local variable, or a global variable.

Imagine the following that is several functions down the file within a
class declaration.

...
foo: func->Int{
  ....  couple lines in
  return a+b+c+d
}

If I ever saw this line, I would remove all hair upon my noggin
barehanded! "a" could be "This a", "this a", the global var "a", or a local, same applies to the other variables, with which the poor reader
would have to manually trackdown which is declared where.

I'm not really one to like forcing of a coding style (much of the
reason why I disagree with enforcing lowercase function names), but
this is something to think of.

And while no sane coder would allow such vile code to be written, it
is common knowledge that not everyone is sane.  But why am I
explaining the reasoning of PERL?

On Apr 9, 2010, at 6:05 PM, Scott Olson <scott@xxxxxxxxxxxxxxx> wrote:
In j/ooc you can't access static members without prepending "This ".
I don't think this should be enforced, but rather simply mentioned
in the
style guide ORC (which still needs to be written, btw). It
especially doesn't
make sense with constants, eg. in oos, functions inside Display
class have to
use "This VIDEO_MEMORY" instead of just "VIDEO_MEMORY". According to
the erorr
message given when you don't use "This", this was done for 'clean
code', but
in my opinion it is sometimes cleaner without "This" and the option
should be
left to the user.

See http://github.com/tsion/oos/blob/covers-and-
statics/Src/Kernel/Hal/Display.ooc

I don't believe it would make it any cleaner to pepper that code
with "This".
In fact quite the opposite.

In j/ooc, all you have to do is remove 3 lines of code that call that
exception and it all works fine. I don't know what must be done in
rock, but it
should also be able to do unqualified member access.

if anyone else has any thoughts or arguments, I'd like to hear them.

- Scott Olson

_______________________________________________
Mailing list: https://launchpad.net/~ooc-dev
Post to     : ooc-dev@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~ooc-dev
More help   : https://help.launchpad.net/ListHelp

_______________________________________________
Mailing list: https://launchpad.net/~ooc-dev
Post to     : ooc-dev@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~ooc-dev
More help   : https://help.launchpad.net/ListHelp

_______________________________________________
Mailing list: https://launchpad.net/~ooc-dev
Post to     : ooc-dev@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~ooc-dev
More help   : https://help.launchpad.net/ListHelp



References