accidental protección de asignación:
Poner el valor izquierdo en el lado derecho no es necesario en algunos lenguajes nuevos como C#.
En C# lo siguiente no se compilará:
if (variable = 0)
Así que en C# No hay necesidad de hacer:
if (0 == variable)
Esta práctica es muy común en los programas de C/C++ para evitar accidental asignaciones que debían ser comparaciones.
puntos de retorno múltiples:
no permitir múltiples puntos de retorno se aplican principalmente porque usted no quiere que se olvide de borrar sus variables.
En cambio, si solo usa RAII, no tiene que preocuparse por ello.
Descargo de responsabilidad: Todavía hay buenas razones para minimizar los puntos de retorno múltiples, y a veces es útil tener solo uno.
Archivos de cabecera
En la mayoría de las lenguas modernas, que no separan el código en la declaración y definición.
C++ define para el archivo de cabecera múltiple incluye
En C++ que utilizó a menudo lo hacen:
#ifdef _MYFILE_H_
#define _MYFILE_H_
//code here
#endif
A veces, esto conduciría a algo como lo siguiente embargo:
#ifdef _MYFILE_H_
#define _WRONGNAME_H_
//code here
#endif
Una mejor manera de hacerlo si compilador lo admite:
#pragma once
C declaraciones de variables
Con C se tuvo que declarar todas las variables en la parte superior de su bloque de código. Incluso versiones posteriores de C no lo requieren, pero la gente todavía lo hace.
notación húngara: (Read, contiene algo de información única)
Hungarian notation can still be good. Pero no me refiero a ese tipo de notación húngara.
antes de que fuera muy importante en C para tener cosas como:
int iX = 5;
char szX[1024];
strcpy(szX, "5");
Debido a que usted podría tener completamente escribir funciones no seguras como:
printf("%i", iX);
Ahora bien, si me hubiera llamado la cadena x, mi programa se hubiera estrellado.
Por supuesto, la solución a esto es utilizar solo funciones de tipo seguro. Así que mientras lo haga no necesita la notación húngara en este sentido.
Pero aún así es una buena idea según lo discutido por Joel en este sentido.
Las que describes siempre fueron malas ideas. –
la notación húngara nunca fue una buena idea, especialmente ahora con IDE con sentido de código moderno. Siempre utilizando los especificadores de alcance _IS_ una buena idea. Por ejemplo, en Java siempre uso esto. o super. o ClassName. para la estática, entonces tiene alcance y tipo y todo lo que hay para usted sin algún prefijo arbitrario no estándar que no tiene sentido para todos menos para usted. –
@Jarrod: cuando tienes un sistema de tipo no expresivo (como en C), [el tipo correcto] de notación húngara es algo sensato de usar. Por ejemplo, cuando se trata de arreglos bidimensionales, el prefijo de las variables relacionadas con la columna con 'c' y las relacionadas con' r' le evitará dolores de cabeza. Del mismo modo, a veces es una buena idea prefijar longitudes con 'l', veces con' t', etc. Solo asegúrese de no duplicar lo que el sistema de tipo está haciendo por usted. –