Hi Kilon,

2014-06-07 11:12 GMT+02:00 kilon alios <kilon.al...@gmail.com>:

> I want to make a video tutorial about System Browser and I want to clarify
> some things first :
>

Great!


>
> --- Part 1  --> Methods ----
>
> 1) What "Browser full"  really means ? and whats the difference with plain
> browsing ?
>

I would say "Browse Full" is the "normal" browser, no scope and other
(older) SystemBrowser had some
special views, like hierarchy browser, version browser...


>
> 2) When I move a method to a different package , what really happens ?
>

The methods protocol will change, and therefor it belongs now to different
package than its class


>
> 3) When refactoring a method to add a parameter how this works because I
> cant make it work.
>

For example Workspace>>#openFile:
and you would like to add a "failblock" add paramter, change selector to
openFile:ifFailed:
and define the default value, for example nil.
Now all existing calls to Workspace>>#openFile: will be replaced with
openFile:filename ifFailed:nil



>
> 4) What does Inline parameter for factoring methods really does ? Does it
> just convert the method to a unary with the argument as a local ?
>
> 5) What "inline target sends" does ?
>
> 6) How method move works ?
>

This may be a usefull refactoring, I never used  :)
The purpose is, if you have a method (#draw for example) in Object X which
implementation highly depens on the internal structure
of one of the instvars of X, it is better to move this method to the class
of this instvar and
call something like "var drawFor:self"



>
> 7) why "rename method all" is in the main menu and in the sub menu
> "refactoring"
>
> 8) "add in Group" throws me an error listmanager is nil.
>

Groups are buggy, I am about to refactor and fix this. Feel free to file
some bug reports if they are missing.


>
> -- Part 2 --> Classes ----
>
> 9) In analyze sub menu there is a "Force the generation of intialize
> method" what this means ?
>

generates an initialze method which calls super initialize and initialize
all instvars with nil,
helpful if you make a new subclass with additional inst vars.


>
> 10) In refactoring > coder rewriting . How all options work ? Whats their
> purpose ?
>

I would like to know that too :)


>
> 11) In refactoring > class refactoring what Realize really does ?
>

No idea


>
> 12) in refactoring > class refactoring if I do split and press cancel in
> both dialogs to cancel the actions to exits with an error.
>

thats bad.


>
> 13) add in group also displays the same error here
>

groups, yes well ...



>
> --- Part 3 -- Packages
>
> 14) add in group throws me an error
>

I hate groups :)


>
> 15) What "Add tag" really does ?
>

It helps to organize classes within one package. Therefor you don't need to
create seperate packages for every group, for example:
MyProject-X-Core
MyProject-X-Tests
MyProject-X-Model
MyProject-X-UI
just one package with tags:
MyProject-X with tags Core/Tests/Model/UI


>
> Those are just "a few" questions for now. I want to make a tutorial that
> really exposes the power of system Browser.
>
>
>
>
I hope this helps, we really really need good (up to date) documentation ,
thank you for your efforts.


nicolai

Reply via email to