Ingeniería de software

19
¿Qué es un árbol Aguri?

Al revisar algunos artículos antiguos de Hacker News, me encontré con una publicación de un usuario que decía Árboles Aguri, que se casan con un radix trie de tamaño limitado (como lo usaría en una tabla de enrutamiento de software) a una lista de LRU, y sintetizan automáticamente agregados...

19
¿Por qué x = x ++ no está definido?

No está definido porque se modifica xdos veces entre puntos de secuencia. El estándar dice que no está definido, por lo tanto, no está definido. Eso lo sé. ¿Pero por qué? Tengo entendido que prohibir esto permite a los compiladores optimizar mejor. Esto podría haber tenido sentido cuando se...

19
¿Deberías hacer propiedades privadas?

private string mWhatever; private string Whatever { get { return this.mWhatever; } set { this.mWhatever = value; } } He visto a algunas personas que hacen propiedades para cada miembro, privado o no ... ¿Tiene sentido? Pude ver que tiene sentido en el 1% de los casos en los momentos en...

19
¿Verifique los parámetros anotados con @Nonnull para nulo?

Hemos comenzado a usar FindBugs y a anotar nuestros parámetros de manera @Nonnulladecuada, y funciona muy bien para señalar errores al principio del ciclo. Hasta ahora hemos seguido verificando estos argumentos para nullusar Guava's checkNotNull, pero preferiría verificar nullsolo en los bordes,...

19
Patrones de diseño Protobuf

Estoy evaluando Google Protocol Buffers para un servicio basado en Java (pero espero patrones agnósticos de lenguaje). Tengo dos preguntas: La primera es una pregunta general amplia: ¿Qué patrones estamos viendo que usa la gente? Dichos patrones están relacionados con la organización de la...