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, 11:19:56 AM (17 years ago)
- Author:
-
Víctor de Buen Remiro
- Comment:
-
--
Legend:
- Unmodified
- Added
- Removed
- Modified
-
|
v5
|
v6
|
|
| 257 | 257 | Eliminación de variables globales |
| 258 | 258 | Un caso especialmente recomendable es el que afecta a todos los parámetros de configuración y variables globales en general que deberían incluirse dentro de un único NameBlock global para evitar colisiones de nombres. |
| 259 | | |
| | 259 | {{{ |
| 260 | 260 | //Parámetros de configuración del proyecto |
| 261 | 261 | NameBlock cfg = |
| … |
… |
|
| 268 | 268 | ]]; |
| 269 | 269 | Real DBOpen(cfg::db::alias, cfg::db::user, cfg::db::pwd); |
| 270 | | |
| | 270 | }}} |
| 271 | 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 |
| 274 | | |
| | 274 | {{{ |
| 275 | 275 | NameBlock my_stats(Serie ser) |
| 276 | 276 | {[[ |
| … |
… |
|
| 282 | 282 | NameBlock stats = my_stats(SubSer(Gaussian(0,1,C),y2000,y2000m12d31)); |
| 283 | 283 | Real stats::stdv; |
| 284 | | |
| | 284 | }}} |
| 285 | 285 | Aunque se añadan elementos a lo que devuelve la función o se reordenen los mismos seguirá funcionando el código que usara esta función accediendo con :: mientras no se cambien los nombres: |
| 286 | | |
| | 286 | {{{ |
| 287 | 287 | NameBlock my_stats(Serie ser) |
| 288 | 288 | {[[ |
| … |
… |
|
| 292 | 292 | Real stdv = StDsS(ser) |
| 293 | 293 | ]]}; |
| 294 | | |
| | 294 | }}} |
| 295 | 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: |