Another Idea

The use of specific JADE features and proposals for new feature suggestions
ConvertFromOldNGs
Posts: 5321
Joined: Wed Aug 05, 2009 5:19 pm

Another Idea

Postby ConvertFromOldNGs » Fri Aug 07, 2009 10:36 am

by Carl Ranson >> Fri, 25 Feb 2000 3:01:13 GMT

Just had an idea for a new jade feature.

When creating an abstract class it might be nice if you could nominate certain methods to be automatically overridden in the descendants.

ie you make a generic web page class (say) and all clients are required to reimplement 3 methods to do the work. When you create a subclass, Jade could automatically add these methods for you, which would save the effort of overriding them yourself.

Of course you would still have to fill in the details for each method, so its a fairly minor saving I guess.

It would probably be more useful to have a "reimplement methods" option that gave a multiselect list of existing methods to chose from.

CR

ConvertFromOldNGs
Posts: 5321
Joined: Wed Aug 05, 2009 5:19 pm

Re: Another Idea

Postby ConvertFromOldNGs » Fri Aug 07, 2009 10:36 am

by Craig Shearer >> Fri, 25 Feb 2000 3:34:15 GMT

I agree this is a good idea. When adding a new class, it would be nice to have a sort of wizard process that could have steps like this. One of the pages in the wizard would be selecting methods to reimplement.

I think that this would be a major improvement, and would definitely improve the JADE user's lot. After all, why make the user go through the task of having to create the class, then use the add method dialog (and type the name of the method) for each and every method that you want to reimplement when a simple wizard page could automate most of the task.

Craig.

ConvertFromOldNGs
Posts: 5321
Joined: Wed Aug 05, 2009 5:19 pm

Re: Another Idea

Postby ConvertFromOldNGs » Fri Aug 07, 2009 10:37 am

by Carl Ranson >> Tue, 29 Feb 2000 20:44:16 GMT

Arrrgh, you used the W word (wizard) !

The last thing we need is another multi-step interruption to our work and thought processes.

Wizards just make things more tedious, especially when we're talking about something as simple as reimplementing a few methods. Granted they do a good job for big things like the odbc wizard.

The point is the interface should be made less intrusive.

I'll give you an simple example,

1. I *tell* Jade I want to add a new Method.
2. Jade interrupts me to ask what I'll like to call it
3. I *tell* Jade the name I would like.
4. Jade checks if the method is a reimplementation, and says
"Warning, you are reimplementing a superclass method, continue ?"
5. I *tell* Jade to stop being so silly and just do it.
6. Jade implements the method.

Interruption 2 is probably acceptable, as Jade cannot reasonably predict the method name I want. It could be changed so it uses a default name and allows me to change it easily, but we'll let that slide for now.

Interruption 4 is not acceptable. Reimplementing a method you say? Well, duh, I'm a software developer, working in an oo environment, Its my job! Ok, some of you are saying, what if I hadn't realized that the method name was already used in one of the superclasses. I agree this is a potential problem, but I would say that 90% of the time I know I'm doing a reimplementation.

BUT, It seems very fast for Jade to check for this, why didn't it tell me as I was typing the name? It could have changed the ok button to "Reimplement" or shown a hidden label, or used a different color in the text box or something. If done correctly this sort of feedback can be absorbed instantaneously by humans, instead we have an unnecessary interruption, because its easier for the developer to code.

There is an error in philosophy here, folks, that is so widespread in our industry that we don't even notice it.

How would it be if your slammed on the brakes in your car and it said "are you sure, you want to stop?" instead of immediately doing it (with the appropriate feedback).

Boy, these rants are tiring :)
CR

ConvertFromOldNGs
Posts: 5321
Joined: Wed Aug 05, 2009 5:19 pm

Re: Another Idea

Postby ConvertFromOldNGs » Fri Aug 07, 2009 10:37 am

by Darrell Duniam >> Tue, 29 Feb 2000 21:01:11 GMT

I agree with your points here. I think what JADE needs to do better is to indicate to us the nature of classes, properties and methods etc. in the browser windows - this could negate a lot of the need to interrupt the developer with warnings and dialogs etc.

It has been suggested in an earlier posting to this group that properties and methods have different colours, or appear as bold or something similar to represent one state or another. Since we're quite limited in this regard, perhaps icons beside the names in the class, attribute and method panes would be more useful. For example, attributes used as keys in a dictionary could have a key beside it, or reimplemented classes or methods could have an appropriate icon beside them. This would give the developer more information just at a glance.

darrell.

ConvertFromOldNGs
Posts: 5321
Joined: Wed Aug 05, 2009 5:19 pm

Re: Another Idea

Postby ConvertFromOldNGs » Fri Aug 07, 2009 10:37 am

by Carl Ranson >> Tue, 29 Feb 2000 21:05:10 GMT

Yes,

A key next to key properties would be an execellent addition.

And there should be flyover help for properties and methods that show you the definition or signature, this avoids the need to "context switch", just to get a quick reminder. ie currently you have to click on a property to view its definition, and loose the context you were working in.

ConvertFromOldNGs
Posts: 5321
Joined: Wed Aug 05, 2009 5:19 pm

Re: Another Idea

Postby ConvertFromOldNGs » Fri Aug 07, 2009 10:37 am

by Carl Ranson >> Tue, 29 Feb 2000 22:07:44 GMT

Another really usefull one would be a marker next to methods that are uncompiled or in error. This wouild help prevent situations where you've been working on 4 methods on a class, and forget to compile one before testing.

One thing I would say about these markers is that they should, in my opinion, be on the right hand edge of the list. The reason is that they are supplementary information to the property or method. The property or method name is primary information and should be the first thing on the line. ('cos we read from left to right)

This also prevents wasting precious screen realestate because those features that don't have a marker don't have to be indented.

CR

ConvertFromOldNGs
Posts: 5321
Joined: Wed Aug 05, 2009 5:19 pm

Re: Another Idea

Postby ConvertFromOldNGs » Fri Aug 07, 2009 10:37 am

by Dean Cooper >> Tue, 29 Feb 2000 22:48:27 GMT

Jade 5.1 has icons next to properties and methods indicating public, protected or read-only. Methods also have an icon next to them indicating when they're uncompiled or in error. (The icons are shown on the left.) Flyover help is available for properties, methods and classes, and there are new View menu options allowing you to specify the property and method access you want to see (ie: show only public, protected or read-only features, or a combination of).

Dean.

ConvertFromOldNGs
Posts: 5321
Joined: Wed Aug 05, 2009 5:19 pm

Re: Another Idea

Postby ConvertFromOldNGs » Fri Aug 07, 2009 10:37 am

by Craig Shearer >> Tue, 29 Feb 2000 23:20:42 GMT

wow.... amazing.... the plant has been listening!!! Thanks you guys!

Craig.

ConvertFromOldNGs
Posts: 5321
Joined: Wed Aug 05, 2009 5:19 pm

Re: Another Idea

Postby ConvertFromOldNGs » Fri Aug 07, 2009 10:37 am

by Craig Shearer >> Tue, 29 Feb 2000 23:19:13 GMT

Well, maybe a Wizard was the wrong name, but I was thinking of another tab on the class definition dialog that allowed you to select a bunch of methods to regenerate reimplementations for.

I agree that Wizards aren't that great because they force the user into a set series of developer defined steps.

Craig.

ConvertFromOldNGs
Posts: 5321
Joined: Wed Aug 05, 2009 5:19 pm

Re: Another Idea

Postby ConvertFromOldNGs » Fri Aug 07, 2009 10:37 am

by Torrie Moore >> Wed, 1 Mar 2000 0:02:57 GMT

I agree that the interuption is unnecessary and if developers are like most most users they will just automatically check YES. I still want something telling me that I reimplemented a method. Take a new developer who is working on a project and adds a new method. He or she may have unwittingly implemented a method that does something else. I think that the warning should probably use sound and maybe a status line text message. This way we can ignore it the 90% of the time after glancing at the message, but it will alert us the 10% of the time that it matters.

Torrie Moore


Return to “Feature Discussions”

Who is online

Users browsing this forum: No registered users and 2 guests

cron