"... podría ser (y debe ser) cubierta por el principio-sobre-configuración de convenciones ..."
"Convención sobre la configuración "normalmente se aplica a una API o marco, como MVC o Entity Framework, no a la idioma en sí. Una API generalmente es enfocada, reutilizable y, sobre todo, , que simplifica la abstracción de la funcionalidad de. En esta situación, dictar convenciones puede ayudar a impulsar la estructura sin comprometer la funcionalidad.
Sin embargo, esto no es cierto para el lenguaje de programación. El lenguaje es amplio y de bajo nivel, y complejo en comparación. Debe restringir a su usuario lo menos posible sin diluir el valor del idioma. Suponer que una "convención" tan amplia sería muy prescriptiva. Más allá de esto, sería peligroso que el compilador suponga que un parámetro con un nombre de pila siempre debe ser asignado a un campo privado de nombre similar.
Por un lado, su convención no es la única comúnmente utilizada. Por ejemplo, un estilo de codificación común sugiere campos privados guiados por subrayado (_param1
), que su convención perdería. El constructor puede tener una lógica más allá de esas asignaciones, en cuyo caso su convención es demasiado simple: ¿debería ejecutarse el código "dirigido por la convención" antes o después de cualquier otra lógica de constructor?
Lo más importante, ¿cómo se anularía tal convención? Si, en el constructor, consumiera param1
de alguna otra forma, ¿todavía ejecuta la convención?¿Qué pasa si, en el constructor, asigno un valor diferente a this.param1
? ¿Su convención debe ocurrir antes o después del código que el usuario ha agregado?
Incluso estas breves preguntas, para las cuales muchas personas tendrán respuestas muy diferentes e igualmente válidas, son suficientes para sugerir que tal convención no es tan obvia ni fácil de definir, como podría parecer.
plugins como CodeRush o JustCode puede generar ese código automáticamente para usted. – sloth
También podría ver el uso de fragmentos de código: http://msdn.microsoft.com/en-us/library/ms165392(v=vs.80).aspx Sin embargo, herramientas como las mencionadas por BigYellowCactus le brindarán una mejor productividad . –
Añadir Resharper a la lista anterior. –