Qué puntos en contra y a favor veis en esta forma de programar?

Iniciado por anonimo12121, 17 Junio 2012, 14:09 PM

0 Miembros y 1 Visitante están viendo este tema.

anonimo12121

Qué puntos en contra y a favor veis en esta forma de programar?
Pregunto por el archivo camara.cpp
area.hpp
Código (cpp) [Seleccionar]
#ifndef _AREAHPP_
#define _AREAHPP_
struct Area {
   int x;
   int y;
   int w;
   int h;
};
#endif

camara.hpp
Código (cpp) [Seleccionar]
#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
Código (cpp) [Seleccionar]
#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;
}
Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746

0xDani

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 :)
Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746

0xDani

Lo cierto es que no se ve muy bien que parametros hay que pasarle a las funciones, sobre todo en camaragame.
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 :)
[/url]

Foxy Rider

#5
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.htm

Código (cpp) [Seleccionar]
CamaraGame::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.

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.
Página para ganar Bitcoins y Dinero: http://earnbit.hol.es/
Video de YouTube con Hack para el LoL: http://adf.ly/5033746/youtube-lolemuhack
Si quieres ganar dinero con adfly entra y registrate aquí -> http://adf.ly/?id=5033746