Estoy generando la mayor parte de mi código de andamio ASP.NET MVC. Todos los archivos generados son clases parciales que usan convenciones de nomenclatura estándar. Por ejemplo, mi archivo de controlador de empleado se llama EmployeeController.cs. Si deseo extender el EmployeeController con lógica personalizada, no generada, creo un segundo archivo de clase parcial llamado EmployeeControllerCustom.cs. Separé la lógica personalizada y la lógica generada en dos archivos diferentes, así que la próxima vez que genero EmployeeController, mis cambios personalizados no se sobrescribirán. Agregar el sufijo "Personalizado" al nombre del archivo me parece razonable, pero ¿hay una convención de nomenclatura de archivos de clase parcial más establecida que debería seguir?Convenciones de nomenclatura para archivos de clase parcial
Respuesta
Uso la separación .
- por ejemplo EmployeeController.SomeSpecialBehaviour.cs
. También lo vinculo al árbol del proyecto a través de "dependentUpon" o lo que sea que esté en el archivo csproj, de modo que anida cuidadosamente debajo del archivo (en el explorador de soluciones). Sin embargo, tienes que hacer eso a mano (edita el archivo csproj) o con un complemento; por ejemplo:
<Compile Include="Program.cs" />
<Compile Include="Program.Foo.cs">
<DependentUpon>Program.cs</DependentUpon>
</Compile>
aparece como:
Program.cs
Program.Foo.cs
Para añadir a la respuesta 's Marc Gravell ♦, que tenía una situación con archivos en una subcarpeta y el DependentUpon
nodo siendo ignorado. El corto de él es que, en tal caso, mi xml tenía que ser:
<Compile Include="foo\bar.cs" />
<Compile Include="foo\bar.baz.cs">
<DependentUpon>bar.cs</DependentUpon> <!-- Note that I do not reference the subfolder here -->
</Compile>
espero que esto ayude a alguien :)
Me ayudó, gracias. – heltonbiker
- 1. Convenciones de nomenclatura de archivos jar
- 2. Convenciones de nomenclatura de archivos de diseño?
- 3. convenciones de nomenclatura para hilos?
- 4. Convenciones de nomenclatura AJAX
- 5. Convenciones de nomenclatura de Protobuf
- 6. Convenciones de nomenclatura de archivos estándar en Ruby
- 7. Convenciones de nomenclatura para tipos de plantilla?
- 8. Convenciones de nomenclatura para activadores de DB
- 9. convenciones de nomenclatura de ensamblaje
- 10. Convenciones de nomenclatura de PHP?
- 11. Id. Loco de Google y convenciones de nomenclatura de clase
- 12. Convenciones de nomenclatura estándar para Objective-C
- 13. convenciones de nomenclatura para elementos html
- 14. C# Convenciones de nomenclatura para acrónimos
- 15. Convenciones de nomenclatura para pruebas .NET
- 16. Convenciones de nomenclatura de PostgreSQL
- 17. archivos Javascript globales y convenciones de nomenclatura (javascript discreto)?
- 18. ExtJS 4 Convenciones de nomenclatura
- 19. Convenciones de nomenclatura de archivos PHP (.class, .inc)
- 20. Convenciones de nomenclatura de interfaces extraídas
- 21. C++: listas de inicialización/convenciones de nomenclatura
- 22. Convenciones de nomenclatura de Python para los módulos
- 23. Convenciones de nomenclatura de gemas de Ruby
- 24. convenciones de nomenclatura de nombres de nombres
- 25. Convenciones de nomenclatura para desarrolladores de extensiones de Ruby C
- 26. Convenciones de nomenclatura de Python en decoradores
- 27. Convenciones de nomenclatura de SQL Server
- 28. Convenciones de nomenclatura de objetos WebSphere MQ
- 29. Java convenciones de nomenclatura de Excepción
- 30. Convenciones de nomenclatura de servidores funcionales
no se dio cuenta del DependentUpon trabajó en los archivos ... – thecoop
la DependentUpon la sugerencia es genial y funciona muy bien. Gracias por anotar Si estoy leyendo correctamente, no use simplemente un sufijo estándar como "Personalizado". Su sufijo siempre expresa la intención de la funcionalidad del archivo de clase parcial. Además, ¿hay alguna razón por la que usa el. separación opuesta a la carcasa? Hace el. proporcionar algo más que una mejor legibilidad? Gracias. –
Correcto: el nombre del archivo indica la intención del código en * esa parte *. Entonces, si estoy implementando una interfaz exótica (y manteniendo el código separado), podría ser 'SomeType.ICustomTypeDescriptor.cs'. El '.' (IMO) separa las dos cosas: el tipo real (' SomeType') y el intento 'ICustomTypeDescriptor' - ambos ya están completamente encapsulados; además, coincide perfectamente con cosas como 'SomeForm.Designer.cs' ;-p –