El artículo es sobre un ejercicio que tomamos en Mercap para determinar el nivel técnico de las personas que se presentan para trabajar con nosotros. Espero lo disfruten.
--------
¿Conoce usted realmente qué significa desarrollar con objetos? Esta es una pregunta que he realizado durante mucho tiempo como gerente de desarrollo, a las personas que he entrevistado para trabajar conmigo y también a los alumnos que he tenido/tengo en la facultad. ¿Por qué realizo una pregunta tan básica? La realizo porque luego de tantos años de vida del paradigma de objetos (recuerden que el primer lenguaje de objetos fue Simula ’67, el 67 se debe a que fue releaseado en 1967!), luego de tantos años donde no se pone más en duda si el paradigma objetos es mejor que el estructurado (quizá no tantos porque esta dicotomía se empieza a dilucidar con el advenimiento de Java), aún se ven ejemplos de diseño y código que presentan revistas, libros, etc., donde la respuesta es claramente no, aún se ven lugares donde se “confunde” a la gente sobre el significado de los objetos, aún me sigo desilusionando con los candidatos de mis entrevistas.
Explicar QUE es el paradigma de objetos es una solución para este problema. Sin embargo ya se hizo tantas veces, ya se escribió tanto al respecto (aunque hay mucha basura dando vuelta) que no es mi intención repetirlo en un artículo (además de ser imposible por cuestiones de espacio). Cansado de dar explicaciones teóricas, voy a concentrarme esta vez en un ejercicio práctico, que le permitirá a usted contestar la pregunta presentada como título de este artículo; usted podrá decir “SI, se desarrollar con objetos”, o “NO, aún debo aprender más”.
Vamos por lo tanto a realizar un ejercicio sencillo, que lo utilizo en mis entrevistas y que rápidamente, una vez resuelto por el entrevistado, permite determinar si la persona en cuestión entiende o no de objetos. Este ejercicio es una simplificación de un parcial que varias veces hemos tomado en la materia de “Programación Orientada a Objetos” de
1) La facturación se realiza de manera mensual
2) La facturación está compuesta por:
a. Un abono mensual básico
b. Consumo por llamadas Locales
c. Consumo por llamadas Nacionales e Internacionales
3) Las llamadas locales tienen distintos valores según la franja horaria en la que se realizan y el día. Para los días hábiles, de
4) Las llamadas Internacionales tienen un costo distinto según el país al que se llame
5) Las llamadas Nacionales tienen un costo distinto según la localidad a la que se llame
1) No es necesario realizar una interfaz de usuario visual.
2) No es necesario realizar persistencia de los datos (o sea, conexión a base de datos, archivos, etc.). Alcanza con simular los datos creándolos en memoria
3) Como salida alcanza ver por pantalla como sería una factura (sin preocuparse por darle un formato especial)
Por favor, tómese por lo menos un par de minutos para pensar una solución. Piense qué objetos y clases tendría, cuál sería la responsabilidad de dichos objetos, etc. Nada complicado, solo un par de minutos.
-----------
La semana que viene empiezo a postear la solución! Tiene el fin de semana para pensarlo!! jaja.
No hay comentarios.:
Publicar un comentario