Wish: Variable Not Used Warning

Nick Sabalausky a at a.a
Thu Jul 10 12:47:11 PDT 2008


"Markus Koskimies" <markus at reaaliaika.net> wrote in message 
news:g54tke$1h9i$11 at digitalmars.com...
> On Thu, 10 Jul 2008 04:16:06 -0700, Era Scarecrow wrote:
>
> [...]
>> //basic declaration to be finished later int isPrime(int number, int[]
>> primesList) {
>>     int cnt;
>>
>>     return 0; //shut the compiler up for now.
>> }
> [...]
>> //basic declaration to be finished later int isPrime(int number, int[]
>> primesList) {
>>     int cnt;
>>     unusedReferenceToShutUpErrors(cnt);
>>     unusedReferenceToShutUpErrors(primesList);
>>
>>     return 0; //shut the compiler up for now.
>> }
>
> In "C++'ish" / D way, this is normally dealt like this:
>
> int isPrime(int number, int[] /*primesList*/)
> {
> //int cnt;
>
> return 0;
> }
>
> Hard & ugly? I think warnings are not meant to be used to remember you
> that you have something unfinished. I regularly tag those parts with "//
> todo", which is easily grep'd from code.
>

Warnings are intended to point out things you may have overlooked. 
Forgetting to finish something certainly qualifies as "overlooked".

I do "//TODO"s as well, but I do it so much that I'm very likely to end up 
forgetting to finish a partial-implementation before I get around to going 
through my TODOs and getting to that particular one.

So the problem that inevitably crops up is: When I've commented that stuff 
out to make my partial implementation compile (so that I can test what I've 
implemented so far), and then move on to something else and forget to come 
back to my partial implementation, what's going to happen? It's NOT going to 
give me a nice noisy warning about "Hey, Mr. Screwup, you're not using this 
variable!", which *would* have pointed me right back to my unfinished code 
*before* I got around to that particular "//TODO". So now I have a hidden 
bug on my hands, just because I've deliberately circumvented the warning 
system and thereby lost the benefits of having it.






More information about the Digitalmars-d mailing list