close
Warning:
Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.
- Timestamp:
-
Feb 27, 2009, 10:16:27 AM (16 years ago)
- Author:
-
Víctor de Buen Remiro
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
v2
|
v3
|
|
246 | 246 | Esto reduce el uso actual de scope dinámico en la pila local de llamadas de funciones, lo cual puede ayudar a medio plazo a reconducir a los usuarios de TOL a los estándares de programación. |
247 | 247 | |
248 | | === Ventajas === |
| 248 | == Ventajas == |
249 | 249 | |
250 | 250 | Las ventajas que aportan los NameBlock's se pueden resumir en que da facilidades para alcanzar mayor modularidad, mejor organización y legibilidad y mayor reusabilidad del código. |
251 | 251 | |
252 | | ==== Modularidad ==== |
| 252 | === Modularidad === |
253 | 253 | |
254 | 254 | La principal utilidad del NameBlock es dotar a TOL de un mecanismo de modularidad más allá del fichero que permita construir módulos, paquetes y librerías robustamente organizados. Una forma prudente de anidar los NameBlock's sería en este caso: lib_id::package_id::module_id |
… |
… |
|
269 | 269 | Real DBOpen(cfg::db::alias, cfg::db::user, cfg::db::pwd); |
270 | 270 | |
271 | | ==== Flexibilidad ==== |
| 271 | === Flexibilidad === |
272 | 272 | |
273 | 273 | Las funciones que devuelven conjuntos heterogéneos también ganarían flexibilidad, expresibilidad y facilidad de mantenimiento y uso sin recurrir a la definición de estructuras locales |
… |
… |
|
293 | 293 | ]]}; |
294 | 294 | |
295 | | ==== Generación automática de documentación ==== |
| 295 | === Generación automática de documentación === |
296 | 296 | A efectos de generación automática de documentación de un NameBlock, se cuenta con la función Set Members(NameBlock root) que devuelve un listado de los miembros públicos contenidos en un NameBlock y sus hijos de forma recursiva, con un registro para cada uno con la siguiente estructura informativa ordenada de la forma natural indicada por los propios campos: |
297 | 297 | {{{ |
… |
… |
|
306 | 306 | }; |
307 | 307 | }}} |
308 | | ===== Miembros de documentación accesibles de sólo lectura ===== |
| 308 | ==== Miembros de documentación accesibles de sólo lectura ==== |
309 | 309 | Son miembros de sólo lectura de la forma _.autodoc.<sufix> |
310 | 310 | |
… |
… |
|
314 | 314 | * _.autodoc.authors: Si un NameBlock contiene un miembro privado Set _.autodoc.authors este se usará en los mecanismos de generación automática para identificar a los autores del código. |
315 | 315 | |
316 | | ===== Funciones de información relacionadas ===== |
| 316 | ==== Funciones de información relacionadas ==== |
317 | 317 | |
318 | 318 | * Text GetNameBlock(Anything obj): Devuelve el nombre completo del NameBlock al que pertenece un objeto. Si no pertenece a ninguno devuelve la cadena vacía "". |