Re: A couple items on TODO

Поиск
Список
Период
Сортировка
От Ian Lance Taylor
Тема Re: A couple items on TODO
Дата
Msg-id siae0prtuj.fsf@daffy.airs.com
обсуждение исходный текст
Ответ на Re: A couple items on TODO  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Tom Lane <tgl@sss.pgh.pa.us> writes:

> "Christopher Kings-Lynne" <chriskl@familyhealth.com.au> writes:
> > I have noticed while working on command.c and heap.c that half the functions
> > pass 'const char *' and the other half pass just 'char *'.  This is a pain
> 
> Yeah, people have started to use 'const' in new code, but the older
> stuff doesn't use it, which means that the net effect is probably
> more annoyance than help.  I'm afraid that if we attack this in an
> incremental way, we'll end up with code that may have a lot of const
> markers in the declarations, but the actual code is riddled with
> explicit casts to remove const because at one time or another that
> was necessary in a particular place.
> 
> Can anyone think of a way to get from here to there without either
> a lot of leftover cruft, or a "big bang" massive changeover?

You don't need a flag day, if that's what you mean.  You just start
adding const at the lowest levels and grow them upwards.  I've done it
before in large old projects.  It's easy to do a few functions as a
fairly mindless task.  You get there eventually.  The main trick is to
never add casts merely to avoid warnings (they will never get removed
and are a potential source of future bugs), and to make sure that new
functions use const wherever possible (so you don't move backward over
time).

It's worth it in the long run because it gives another way to catch
stupid bugs at compile time.

Ian


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Ian Lance Taylor
Дата:
Сообщение: Re: List response time...
Следующее
От: Tatsuo Ishii
Дата:
Сообщение: Re: Re: [PATCHES] encoding names