SPONSORS:






User Tag List

Results 1 to 6 of 6
  1. #1
    Senior Member
    Join Date
    Nov 2001
    Location
    UK, Oxford
    Posts
    150
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    ST 6.0: initial impressions

    The 'code complete' is nice... unethical, but nice. When first used, it takes a while to compile up your classes, but this is understandable, and thereafter it is pretty damn quick. I remember when JBuilder first got code complete. God that was slow...
    The workflows toolbar is not so nice, but at least you can get rid of it.
    The undo feature is still only one, which is an oversight for any editor and something Segue should address.
    It still suffers from the same injection problems with java 1.4 and win2000, but other than that it seem to run OK.
    P.S.
    Anyone using java 1.4 and win2000, you can avoid loss of injection by never using the menus. Use 'Typekeys' with shortcuts and mnemonics. This obviously does not fully test the product, but hey. Do something like, set up a global boolean called USE_SHORTCUTS and trawl through all the methods which touch menus and make them conditional. Then at least when Segue fix the bug you can simply set USE_SHORTCUTS to false.


    ------------------




    [This message has been edited by johntest (edited 11-13-2002).]
    Tempus fugit, Carpe Diem, et al

  2. #2
    Senior Member
    Join Date
    Nov 2001
    Location
    UK, Oxford
    Posts
    150
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: ST 6.0: initial impressions

    Something to note about code completion:
    Given the following declaration:
    If you have a method getMyCombo() in class wcMyDialogClass which returns MyCombo and you try to code complete to get a list of all the JavaJFCComboBox methods etc:
    You get nothing.

    If you do:
    You get the list of combo methods available.

    I think this comes down to how ST deals with types. In many other O-O languages classes are types. Not so in Silktest its seems.
    For instance, as far as I understand, I could not write something like:
    I have to write:
    (You can map your classes to existing built in types, but that's all)

    This leads to the situation where the compiler does not work for you. Given the following in a testcase:
    if I change the name of method doSomethingOther() in class wcMyDialogClass to doSomethingParticular() and then compile there will be no errors.
    Similarly, if my original window declaration was global and I did something like:
    This makes refactoring of class hierarchies a nightmare. The compiler tells you nothing, and to get back to my original point, means that code completion does not function well at all.
    Perhaps, I am missing a way to get round this...?


    ------------------


    [This message has been edited by johntest (edited 11-14-2002).]
    Tempus fugit, Carpe Diem, et al

  3. #3
    Senior Member
    Join Date
    Jul 1999
    Location
    Bellingham, WA USA
    Posts
    1,323
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: ST 6.0: initial impressions

    I don't know of a way around it, but your analysis is excellent, and you should be teaching man!

    ------------------

  4. #4
    Senior Member
    Join Date
    Feb 2000
    Posts
    1,497
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: ST 6.0: initial impressions

    <BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">quote:</font><HR>...You get nothing.
    <HR></BLOCKQUOTE>


    Of course not. The first line above creates a dynamic instance of wcMyDialogClass without providing a tag that Silk's Agent must have to communicate with the targeted app myObj. Changing it to:

    window myObj = wcMyDialogClass(sTag)

    would get you closer but that still would not include the creation of the TabbedPane or MyCombo objects unless they were part of wcMyDialogClass.

    What you need is a constructor:

    Unless I screwed-up the editing, this example should be fairly close.

    Declaration files are statically defined representations of objects. By using constructors you can virtually eliminate them. Taken to its extreme the declaration files would resemble a collection of lists leaving all operative details to individual class files.

    John


    [This message has been edited by John J. Miller (edited 11-14-2002).]

  5. #5
    Junior Member
    Join Date
    Sep 2002
    Location
    Oxford, U.K.
    Posts
    10
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: ST 6.0: initial impressions

    John Miller:

    I'm not sure what you are getting at. johntest is saying that _code_complete_ doesn't work on that example, your example is trying to throw in a tag so ST can identifying the window when it runs the test case.

    Doesn't help the code-completion though.

    ------------------
    Acceptance testing: an unsuccessful attempt to find bugs.
    Real computer scientists don't program in assembler. They don't write in anything less portable than a number two pencil.

  6. #6
    Senior Member
    Join Date
    Nov 2001
    Location
    UK, Oxford
    Posts
    150
    Post Thanks / Like
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Re: ST 6.0: initial impressions

    John, I think we are talking about entirely different things here.
    Here's another example of what I mean:
    Given the following declaration:
    If I write:
    and then change the name of method doSomethingOther() in class wcMyDialogClass to doSomethingMoreCrazy(), and then compile, the compiler will throw an error telling me that there is no such defined method as doSomethingOther(). Quite right.
    If however I do the following:
    and then compile, the compiler will not complain.
    This is because I am assigning to a 'window' type, and all information relating to the underlying type/class wcMyDialogClass is lost.
    In Java if I had a class wcMyDialogClass, I could do
    and the compiler would warn me if I renamed my class methods but forgot to change the calls to them elsewhere in the codebase.

    So this means be careful when you assign to a 'window' reference. The compiler is no longer your friend.

    (I use 'compile all' when compiling .t files because I noticed 'compile' does not consistently take account of modified include files etc.)



    ------------------
    Tempus fugit, Carpe Diem, et al

 

 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

vBulletin Optimisation provided by vB Optimise v2.6.0 Beta 4 (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
User Alert System provided by Advanced User Tagging v3.0.9 (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Questions / Answers Form provided by vBAnswers (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
vBNominatevBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Feedback Buttons provided by Advanced Post Thanks / Like (Pro) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
Username Changing provided by Username Change (Free) - vBulletin Mods & Addons Copyright © 2016 DragonByte Technologies Ltd.
BetaSoft Inc.
Digital Point modules: Sphinx-based search
All times are GMT -8. The time now is 10:49 AM.

Copyright BetaSoft Inc.