I like this message very much, ohh! what's pitiful! it's 2 years ago. but I really hope the writer or someone can send VS51.exe. thanks!
My email zeeman2003@hotmail.com
It’s just a coding ability, not others. Of course, using which development tools is almost depend on your personal habit. But we should agree with that the good tool makes life easier. The book《code complete》will give more viewpoints
The IDE as productivity enhancing - you must be kidding.
The statement would be true if the IDEs did not force you to use inferior components in addition to the components that attract you.
In my opinion if an IDE does not allow e.g. the editor to be replaced by CodeWright, it is useless.
in another way: I will not use the Keil IDE till it a) allow me to use MY editor b) allow me to run 47 slightly different builds from the same source c) do not regularily get out of synch with the (e.g. SILabs) chip interface
I have enhanced my productivity by throwing the IDE away and using .bat files with 3 tabs on the taskbar (editor, .bat for build and emulator).
Erik
"Maybe MCU project often is a samll project..."
Quite the opposite for us.
Our projects are normally too large to be run (easily) in the simulator.
.bat was often use in DOS, though it still work well today, but you need change your mind look other
What is all this "refactoring" stuff, anyhow?
from where I sit, it just looks like a fancy search-and-replace to me?
If it works well, then what is the reason to change it?!
"from where I sit, it just looks like a fancy search-and-replace to me?"
I've often thought that myself!
Maybe not. http://www.wholetomato.com/
Refactoring is suppose to take variable scope into account where find/replace does not.
Well, a cynic would say, "If VS is so great, why would you need to add all these extras...?"
But, back to my question, that site says nothing whatsoever about what "refactoring" actually is! What does it actually mean?
It claims to make it easy - but it doesn't say what it is!
It just assumes that I want to "refactor" - it doesn't tell me why I might want to do that!
Refactor existing code making it easier to read and cheaper to maintain.
I can see that could be helpful in certain circumstances, but I can't see that it's going to make a 20-30% difference to my productivity on a day-to-day basis.
But maybe that's because I still don't really see what it means (yet). What's the Big Idea?
But how does it make it easier to read and cheaper to maintain?
You still haven't explained what "refactoring" actually is!
let me think a while o(︶︿︶)o
For C, you don't have much problem with scope.
It is quite trivial to do a search/replace within a single function as long as new variables aren't created in nested blocks.
For C++ with namespaces and classes, it can often be an idea to change the variable name to something really silly, like 'xx1253beep' and catch all compilation errors. Then it will be possible to do a global search/replace to the final name. This makes sure that a missed rename of a variable doesn't gets resolved by a global variable with the same name.
Giving all global variables a prefix can also often help out.
"Refactor existing code making it easier to read and cheaper to maintain."
What's happened to the skill of planning what you're going to write before actually writing it?
I believe it assumes you are lazy and do not make variables meaningful when you use them. IE it assumes 'you' do this
void fnc_me(unsigned char e) { int i; i = 0; for(;i < e; i++) { if(i & 1) { s_pf("%X", i);} else { s_pf("%03d", i); } } }
In other words you obfuscate everything to loose all meaning because you are too lazy to actually write coherent code (this could be a Microsoft internal problem).
And when you need to change a routine you just recycle the variable over and over each time. So no meaning is attached to any of your code. You also don't comment etc.
Basically it makes that assumption.
It's mostly helpful when you get another project that you can't make heads or tails of (and was written like my obfuscated example I guess) and you need to change it or update it significantly.
Stephen
But, if the meaning is lost (or was never there in the first place), how can any automatic process (re-)create it?!
Isn't that just like trying to re-create 'C' source code from hex?
The automatic tools can at least allow you to rename the meaningless 'i' variable into something more describing, without accidentally touching several hundred other 'i' variables in the program.
So automatic tools helps out when the initial developer has been lazy.
If the initial variables already have 10-15 characters, then the number of clashes are few, in which case it will often be enough to do a recursive grep to find that a replace all is safe.
View all questions in Keil forum