Autor
|
Tema: Qué puntos en contra y a favor veis en esta forma de programar? (Leído 2,975 veces)
|
anonimo12121
|
Qué puntos en contra y a favor veis en esta forma de programar? Pregunto por el archivo camara.cpp area.hpp#ifndef _AREAHPP_ #define _AREAHPP_ struct Area { int x; int y; int w; int h; }; #endif
camara.hpp#ifndef _CAMARAHPP_ #define _CAMARAHPP_ #include "area.hpp" #include <iostream> using namespace std; class CamaraGame{ private: Area CArea; int LW; int LH; public: CamaraGame(int _mw,int _mh,int _x,int _y,int _h,int _w); bool Move(int x,int y); bool ResizeLimit(int _lw,int _lh); Area Get(); }; #endif
camara.cpp#include "camara.hpp" // CamaraGame::CamaraGame(int _mw,int _mh,int _x,int _y,int _w,int _h){ if(_x>=0)CArea.x=_x; else { CArea.x=0; cout << "\nERROR CAMARA 0007: valor inferior a 0, se le asigna 0\n"; } if(_y>=0)CArea.y=_y; else { CArea.y=0; cout << "\nERROR CAMARA 0008: valor inferior a 0, se le asigna 0\n"; } if(_w>=0)CArea.w=_w; else { CArea.w=0; cout << "\nERROR CAMARA 0009: valor inferior a 0, se le asigna 0\n"; } if(_h>=0)CArea.h=_h; else { CArea.h=0; cout << "\nERROR CAMARA 0010: valor inferior a 0, se le asigna 0\n"; } if(_mw>=0)LW=_mw; else { LW=0; cout << "\nERROR CAMARA 0011: valor inferior a 0, se le asigna 0\n"; } if(_mh>=0)LH=_mh; else { LH=0; cout << "\nERROR CAMARA 0012: valor inferior a 0, se le asigna 0\n"; } }; bool CamaraGame::Move(int _x,int _y){ if(_x<0){ _x=0; cout << "\nERROR CAMARA 0003: valor inferior a 0, se le asigna 0\n"; } if(_y<0){ _y=0; cout << "\nERROR CAMARA 0004: valor inferior a 0, se le asigna 0\n"; } if(_x+CArea.w>LW){ _x=LW-CArea.w; cout << "\nERROR CAMARA 0005: valor superior a lo permitido se le asigna " << _x << "\n"; } if(_y+CArea.h>LH){ _y=LH-CArea.h; cout << "\nERROR CAMARA 0006: valor superior a lo permitido se le asigna " << _y << "\n"; } CArea.x=_x; CArea.y=_y; return true; } bool CamaraGame::ResizeLimit(int _w,int _h){ if(_w>=0)LW=_w; else { LW=0; cout << "\nERROR CAMARA 0001: valor inferior a 0, se le asigna 0\n"; } if(_h>=0 )LH=_h; else { LH=0; cout << "\nERROR CAMARA 0002: valor inferior a 0, se le asigna 0\n"; } return true; } Area CamaraGame::Get(){ return CArea; }
|
|
|
En línea
|
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
¿A que te refieres? Saludos
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
anonimo12121
|
a los mensajes por consola cuando los valores no están en el rango necesario para que todo funcione bien
|
|
|
En línea
|
|
|
|
0xDani
Desconectado
Mensajes: 1.077
|
Lo cierto es que no se ve muy bien que parametros hay que pasarle a las funciones, sobre todo en camaragame.
|
|
|
En línea
|
I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!
I code for $$$ Hago trabajos en C/C++ Contactar por PM
|
|
|
overxfl0w13
|
xafi, veo demasiados archivos no? No te parece demasiada carga emplear un archivo (area.hpp) únicamente para declarar una estructura? :S Respecto a lo otro no te puedo ayudar, pero como dice daniyo, son bastante confusos los nombres de los argumentos pasados a las funciones tio xD. Un saludo y cuidate mucho
|
|
|
En línea
|
[/url]
|
|
|
Foxy Rider
Desconectado
Mensajes: 2.407
Deprecated
|
Si tenés muchas estructuras chicas, armate un .hpp con el nombre Types por ejemplo, y poné todo ahí ... Area diría que la declares clase, le agregues algunos operadores y un constructor, por que vá a permitirte hacer algo como esto : http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8a.doc%2Flanguage%2Fref%2Fcplr388.htmCamaraGame::CamaraGame(int _mw,int _mh,int _x,int _y,int _w,int _h): CArea(_x,_y,_w,_h,_mw,_mh)
Y después arrancás a verificar (que también, eso luce bastante "optimizable") Por cierto, lo de los guiones bajos es algo que se vé feo en este contexto de los parámetros (yo tenía esa horrible costumbre, pero con variables privadas y que consideraba "privadas" - léase : encapsulamiento se fue de vacaciones - , me dá cáncer recordarlo x'D), te diría que cambies el estilo de nombramiento de variables ... relajalo en parámetros, para los internos de la clase podés estar prefijeando m, y con eso indicás "mine" como por ejemplo mWidth (tampoco abuse de este prefijo) Y un consejo más personal? no mezcles idiomas en el código :S Saludos.
|
|
« Última modificación: 18 Junio 2012, 11:12 am por vertexSymphony »
|
En línea
|
|
|
|
anonimo12121
|
La verdad que me hice un lío en los nombres de los parámetros. Lo mezclar idioma ya estoy solucionando.
Gracias por los consejos los pondré en práctica.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Conectar de esta forma en vb.NET una Base de Datos
.NET (C#, VB.NET, ASP)
|
enterariel
|
1
|
4,186
|
6 Julio 2010, 05:13 am
por [D4N93R]
|
|
|
Me voy a comprar , esta placa base , ¿Cómo la veis de aceptable?..
Hardware
|
Jenag
|
5
|
4,332
|
2 Abril 2012, 18:47 pm
por Aprendiz-Oscuro
|
|
|
¿Dónde se está practicando sexo? Una 'app' muestra los 'puntos calientes'
Noticias
|
wolfbcn
|
0
|
1,104
|
24 Julio 2013, 01:28 am
por wolfbcn
|
|
|
Esta app permite ver satélites, puntos WiFi y redes móviles con la cámara del...
Noticias
|
wolfbcn
|
0
|
1,756
|
29 Noviembre 2015, 21:23 pm
por wolfbcn
|
|
|
¿Esta bien programar de esta forma?
« 1 2 »
Scripting
|
Panic0
|
11
|
6,501
|
12 Diciembre 2020, 13:18 pm
por #!drvy
|
|