Click here to Skip to main content
15,886,110 members

Welcome to the Lounge

   

For discussing anything related to a software developer's life but is not for programming questions. Got a programming question?

The Lounge is rated Safe For Work. If you're about to post something inappropriate for a shared office environment, then don't post it. No ads, no abuse, and no programming questions. Trolling, (political, climate, religious or whatever) will result in your account being removed.

 
GeneralRe: Cosmetic vs More Efficient Pin
Rusty Bullet5-May-21 5:25
Rusty Bullet5-May-21 5:25 
GeneralRe: Cosmetic vs More Efficient Pin
Andre_Prellwitz5-May-21 10:55
Andre_Prellwitz5-May-21 10:55 
GeneralRe: Cosmetic vs More Efficient Pin
MarkTJohnson4-May-21 7:21
professionalMarkTJohnson4-May-21 7:21 
GeneralRe: Cosmetic vs More Efficient Pin
Daniel Pfeffer4-May-21 7:34
professionalDaniel Pfeffer4-May-21 7:34 
GeneralRe: Cosmetic vs More Efficient Pin
MarkTJohnson4-May-21 7:40
professionalMarkTJohnson4-May-21 7:40 
GeneralRe: Cosmetic vs More Efficient Pin
Mircea Neacsu4-May-21 9:32
Mircea Neacsu4-May-21 9:32 
GeneralRe: Cosmetic vs More Efficient Pin
W Balboos, GHB5-May-21 0:58
W Balboos, GHB5-May-21 0:58 
GeneralRe: Cosmetic vs More Efficient Pin
Mircea Neacsu5-May-21 2:47
Mircea Neacsu5-May-21 2:47 
Besides my uncalled for nitpicking on syntax, the more important point of my answer was the idea of avoiding arbitrary "flag" values in parameters.

This goes along the lines of "Principle of least astonishment"[^] or "minimum surprise principle" as I prefer to call it, of not forcing the user of your code to remember artificial conventions. For instance, if you have in your .h file a function:

C++
string find_question (int answer=-1);

You have to go to the source file (or the docs) to find behind it some code like:
C++
string find_question (int answer)
{
  if (answer == -1)
    answer = 42;
...
}
Sometimes use of such "flag" values is hard to avoid but in many cases, specially with templetized languages, it is just laziness. One good example of such lazy design is the basic_string class in C++. IMO there is no excuse for using -1 (fancifully disguised as string::npos) as a flag for last position in string.
Mircea

GeneralRe: Cosmetic vs More Efficient Pin
W Balboos, GHB5-May-21 2:58
W Balboos, GHB5-May-21 2:58 
GeneralRe: Cosmetic vs More Efficient Pin
Kirk 103898215-May-21 3:15
Kirk 103898215-May-21 3:15 
GeneralRe: Cosmetic vs More Efficient Pin
agolddog5-May-21 3:19
agolddog5-May-21 3:19 
GeneralRe: Cosmetic vs More Efficient Pin
BernardIE53174-May-21 10:07
BernardIE53174-May-21 10:07 
GeneralRe: Cosmetic vs More Efficient Pin
11917640 Member 4-May-21 19:10
11917640 Member 4-May-21 19:10 
GeneralRe: Cosmetic vs More Efficient Pin
BernardIE53174-May-21 20:54
BernardIE53174-May-21 20:54 
GeneralRe: Cosmetic vs More Efficient Pin
11917640 Member 4-May-21 22:08
11917640 Member 4-May-21 22:08 
GeneralRe: Cosmetic vs More Efficient Pin
BernardIE53174-May-21 22:46
BernardIE53174-May-21 22:46 
GeneralRe: Cosmetic vs More Efficient Pin
W Balboos, GHB5-May-21 1:20
W Balboos, GHB5-May-21 1:20 
GeneralRe: Cosmetic vs More Efficient Pin
Greg Utas4-May-21 10:01
professionalGreg Utas4-May-21 10:01 
GeneralRe: Cosmetic vs More Efficient Pin
W Balboos, GHB5-May-21 1:09
W Balboos, GHB5-May-21 1:09 
GeneralRe: Cosmetic vs More Efficient Pin
Greg Utas5-May-21 1:17
professionalGreg Utas5-May-21 1:17 
GeneralRe: Cosmetic vs More Efficient Pin
PIEBALDconsult4-May-21 11:04
mvePIEBALDconsult4-May-21 11:04 
GeneralRe: Cosmetic vs More Efficient Pin
obermd4-May-21 18:48
obermd4-May-21 18:48 
GeneralRe: Cosmetic vs More Efficient Pin
Peter Adam4-May-21 22:07
professionalPeter Adam4-May-21 22:07 
GeneralRe: Cosmetic vs More Efficient Pin
BernardIE53174-May-21 23:09
BernardIE53174-May-21 23:09 
GeneralRe: Cosmetic vs More Efficient Pin
jsc424-May-21 23:31
professionaljsc424-May-21 23:31 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.