Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Feature Requests
 Auto Refactoring?
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

johnnyk
New Member

6 Posts

Posted - Jul 07 2006 :  02:45:04 AM  Show Profile  Reply with Quote
The biggest complaint I have with C++ is all the needless energy we need to spend keeping things in sync when machines ought to be smart enough to do it for us. The refactoring tools you guys have added have been a godsend for that, if you could make them 'smart' and kick-in automatically, then we'd really have something.

It would be great if VAssist would detect changes to a function signature and auto-update the header and all references, and bring up a list of references where its used so I can fix any further problems.

When I create a definition, the declaration should just appear. Likewise for creating a declaration and the defintion appearing.

When I create a new member variable, it should be listed in the constructor[s] automatically, calling the default constructor if available or 0 or 0.0f or false if its a value (configurable, sure).

If I reference a function on a class that doenst exist, it should be added, definition and declaration, with the signature matched up as best as can be guessed. When I reference an unknown variable it should be created in the class and added to the constructor. This feature should use spell checking to see if its likely I just made a spelling mistake.

All these auto-changes ought to queue up in a side-window, so I can review them and make sure they happened as expected.

These are pretty pie-in-the-sky requests of course, and it would take some tweaking to make it know when to do the right thing, which of course might be different for different people. How about dynamic learning that watches what I fix after VAssist makes a change, and then automatically performs my post-adjustment in future cases?

Maybe I'm getting into HAL territory here but you guys have already pushed the envelope pretty dang far with this stuff, heres some more ideas for the editing environment of the future :)

khb
Tomato Guru

Germany
337 Posts

Posted - Jul 07 2006 :  08:09:29 AM  Show Profile  Reply with Quote
Of course, I'd like to have a software that does everything you want automatically, too. But then you need a software with a sixth sense. E.g., it has to guess whether you mistyped a variable name or want to create a new one. Well, I don't believe that such software will ever exist.

Regarding your fourth paragraph, I already started a similar discussion (see http://forum.wholetomato.com/forum/topic.asp?TOPIC_ID=4895). Unfortunately, it turned out that the idea isn't so easy to realize for all possible cases. At least not in a structured way. However, if you have some ideas please let us know.

Regards,
Marcus.
Go to Top of Page

support
Whole Tomato Software

5566 Posts

Posted - Jul 07 2006 :  1:43:36 PM  Show Profile  Reply with Quote
If you change the name of a symbol in its definition, and maybe in its declaration, hover over it immediately after your modification. VA X includes an item in the refactoring menu to rename all references.

It's a baby step toward what you describe.
Go to Top of Page

johnnyk
New Member

6 Posts

Posted - Jul 09 2006 :  8:30:52 PM  Show Profile  Reply with Quote
Nice, I'll give that a try.

I'm sure a system that did all those things automatically would make mistakes, which is why you would need to review all the changes as they occurred and could prevent them if they arent what you intended - it wouldnt be too hard for the system to train itself as to which changes you always accept, which you always refuse, and those in between, and then respond appropriately.

Yes, I want an IDE with a sixth sense :) 95% of the stuff I'm typing when I write code is exactly what it seems to be and should be very easily guessed by a machine, I would accept 5% error for the time savings I get on that 95%. Plus, if VA is given the license to assume good coding practices, it can do stuff like assume misspelled or miscapitalized words need to be fixed (i believe it already does this for miscapitalized symbols).

Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18938 Posts

Posted - Jul 10 2006 :  5:55:25 PM  Show Profile  Reply with Quote
playing devils advocate here, but this only works well if we assume the code you are working on follows any form of coding practice at all.

when you work with a group of people, some of whom come and go at short notice, on tight deadlines, and "strange" requirements you can and do end up with some fairly "interesting" code. i shudder to think what VA (or any tool for that matter) might want to do if it decided to automatically help with some of the code i have to work on.

zen is the art of being at one with the two'ness
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000