Está en la página 1de 18

FUNDAMENTOS DE PROGRAMACIÓN

¿Por qué Utilizar Casings (envolturas o carcasas) en la


Programación?
Las convenciones de codificación son un conjunto de normas que recomiendan estilos de
programación, buenas prácticas y métodos para mantener el aspecto del código fuente. Estas
convenciones incluyen la organización de archivos, la indentación, los comentarios, las
declaraciones los espacio en blanco, las llaves de apertura y cerrado, entre otros aspectos.

Se recomienda seguir estas convenciones para ayudar a mejorar la legibilidad del código fuente y
facilitar el mantenimiento del software. Las razones principales de la existencia de estas
convenciones son para reducir los esfuerzos a la hora de leer, entender el código fuente y
mantener el estándar de estilo adecuado de programación.

camelCase
El nombre se debe a que las mayúsculas a lo largo de una palabra en CamelCase se asemejan a
las jorobas de un camello.

Existen dos tipos de CamelCase:

UpperCamelCase. La primera letra de cada una de las palabras es mayúscula. Se usa para
nombrar clases.
Nombrar la clase cliente mayorista: ClienteMayorista

lowerCamelCase, igual que la anterior con la excepción de que la primera letra de la primera
palabra es minúscula y a partir de la segunda inicia con mayúscula. Se usa para nombrar
variables, métodos, paquetes
Sueldo básico: sueBas
Días trabajador: diaTra
Determinar porcentaje: determinarPorcentaje
Calcular sueldo neto: calcularSueldoNeto

snake_case
Es la convención que compone las palabras separadas por barra baja (underscore) en vez de
espacios y con la primera letra de cada palabra en minúscula.
Sueldo básico: sue_bas
Días trabajador: día_tra

Tiene una variedad, todas las letras en mayúsculas se denomina SCREAMING_SNAKE_CASE


utilizado para definir constantes:
La constante Pi: PI = 3.1416
Un porcentaje fijo: PORC_FIJO = 7.5

kebab-case
Al igual que el snake_case pero unido con guiones en vez de barra baja. Por ejemplo:
Sueldo básico: sue-bas
Días trabajador: día-tra

Train-Case
Es una variedad del kebab-case, pero cada palabra con la primera letra en mayúsculas. Por
ejemplo, Sueldo básico: Sue-Bas
Días trabajador: Día-Tra

En este curso se usará CAMELCASE


Abstracción POO
La abstracción consiste en captar las características y funcionalidades que un objeto desempeña,
estos son representados en clases por medio de atributos y métodos. Para realizarla se debe:

1. Identificar las entidades que intervienen en un problema.


2. Identificar los atributos de cada una de las entidades, usando el siguiente formato:

Entidad NombreEntidad
Tipo Atributo Descripción

3. Identificar las variables auxiliares requeridas en el siguiente formato:

Variables auxiliares
Tipo Variable Descripción

4. Indicar los datos de entrada. Información que se debe ingresar al algoritmo para que realice
los procesos y arroje los resultados (datos de salida). Es necesario relacionar las variables
separadas por coma.
5. Formular los procesos parciales. Operaciones o cálculos matemáticos que se realizan por
cada carga o ingreso de datos (datos de entrada).
6. Formular los procesos totales. Son las operaciones o cálculos matemáticos que se realizan
luego de finalizar la carga o ingreso de datos (datos de entrada). Se efectúan una sola vez.
7. Indicar los datos de salida parciales. Son los que se deben visualizar por cada carga o
ingreso de datos (datos de entrada) que se realice.
8. Indicar los datos de salida totales. Son los datos que se deben mostrar luego de finalizar la
carga o ingreso de datos (datos de entrada). Se visualizan una sola vez
9. Identificar los métodos (funciones) que se requieren para dar solución al problema en el
siguiente formato:
No Procesos /Datos de salida Métodos

10. Desarrollar el proyecto en Java con NetBeans.

Para descargar el JDK de java vamos a la siguiente URL:

https://www.oracle.com/java/technologies/downloads/

Se selecciona JDK21 la última versión estable con actualización programada hasta septiembre de
2026

Se selecciona el sistema operativo en este caso Windows, se descarga x64 Installer con un peso
de 153.48 MB

Para el entorno de desarrollo se trabajará con NetBeans para ello vamos la siguiente URL:
https://netbeans.apache.org/
Se hace clic en Download, en la sección Installers se selecciona Apache-NetBeans-20r1-bin-
windows-x64.exe (SHA-512, PGP ASC), se selecciona la opción We suggest the following site
for your download para su descarga en el enlace:
https://dlcdn.apache.org/netbeans/netbeans-installers/20/Apache-NetBeans-20r1-bin-windows-
x64.exe
Documentación Java
https://docs.oracle.com/en/java/javase/21/index.html
Reutilización de código
Es uno de los principales beneficios de la POO.

Consiste en reutilizar código existente para reducir el tiempo de desarrollo y la complejidad del
proyecto.

Se logra mediante:
La reutilización de un método varias veces en un mismo proyecto.
La creación de componentes que pueden ser usados por múltiples proyectos.

Ventajas de reutilizar código


➢ Reduce el tiempo necesario para crear una aplicación
➢ Facilita el mantenimiento, debido a que se simplifican los errores y las actualizaciones se
realizan en un solo lugar.
➢ Mejora la calidad del software al reutilizar componentes confiables y probados.
➢ Disminuye el costo de desarrollo al usar componentes ya existentes.
➢ Ofrece flexibilidad al permitir que los componentes estén disponibles para su uso en varios
proyectos.
➢ Mejora la productividad del equipo al simplificar el proceso de codificación.

Expresiones Regulares

Son patrones que permiten ejecutar búsquedas poderosas dentro de un texto o para validar datos
de entrada para que cumplan con un patrón específico. Para conocer aplicación general se sugiere
las siguientes URL:
https://youtu.be/wfogZfIS03U
https://youtu.be/MRKpVxn5fqI?si=8uC9dDEzrsY_CNvx

Ejemplo de uso en Python


https://youtu.be/Mc2j8Q-MHB4?si=atIAQTr_ttvyD8P2
https://youtu.be/qpwn3gRtxCo?si=Jf4hI-VgbEMj5Osm
https://youtu.be/V8316ao08tQ?si=cgLswJMHWmEFLtDv

Ejemplo en Java
https://www.youtube.com/playlist?list=PLaxZkGlLWHGVp6fjX7Q2KuYgpG0N9pOYn

Indentación De Código
A medida que se escriben líneas de código en un programa, este se irá complicando y tomará más
tiempo leer lo que se ha hecho y comprobar si hay errores o buscar como solucionarlos.

Para mejorar la rapidez con la que se lee y se entiende el código, una buena práctica es usar la
indentación.

Se llama indentación de código al hecho de utilizar sangrado (mover ligeramente hacia la


derecha) las líneas de código, facilitando así la lectura e indicando visualmente si nos
encontramos en el interior de una estructura concreta.
Código no indentado
Código indentado

Comentarios
Coloca comentarios en el código, evitara desorientaciones cuando después de un tiempo se lean
los métodos más complejos que se han creado.

Además, si un tercero tiene que acceder al código, los comentarios le facilitarán la tarea, pueden
ser de una línea o en bloque, es decir varias líneas de código.

//Una línea de comentario

/* Un bloque de comentario
que permite explicar a más detalle
cuando se requiera */
Uso Eficiente del Condicional If
Si se requiere evaluar dos o más condiciones, se debe hacer uso de un condicional múltiple en
vez de condicionales simples, estos son más eficientes ahorrando tiempo significativo de
ejecución y en algunos casos uso de recursos como la memoria y procesador cuando se requiere
por ejemplo tener que ir a una base de datos a realizar una consulta para validar la condición.
Cuando Usar For, While O Do While

FOR. Se usa cuando se conoce con exactitud el número de veces que se requiere repetir un
conjunto de instrucciones.

DO – WHILE. Se usa cuando se requiere ejecutar un conjunto de instrucciones al menos una


vez.

WHILE. Se usa cuando es necesario evaluar una condición antes de ejecutar un conjunto de
instrucciones, por lo que se pueden ejecutar cero o más veces.
Estructura de un proyecto java bajo la arquitectura
Modelo Vista Controlador

Esta arquitectura, está compuesta por la capa de la interfaz, donde el usuario interactúa
directamente y sirve de entrada de datos al sistema, la capa de las reglas del negocio, la cual
contiene la funcionalidad del sistema y por último la capa de los datos, quien se encarga de la
gestión de los almacenamientos de datos. Siendo la arquitectura más utilizada en el diseño del
software.

CAPA DE INTERFAZ CAPA DE REGLAS DEL CAPA DE DATOS


NEGOCIO
Vistas de usuario, formularios Componentes módulos, Almacenamientos a través de
programación o codificación las bases de datos u otras
estructuras

La arquitectura en mención presenta beneficios como independencia entre capas, facilidad de


sustitución con implementaciones alternativas de los mismos servicios básicos, minimización de
dependencias entre capas, reutilización de capas por otros servicios de mayor nivel. A
continuación, se hace referencia a cada una de las tres capas:

Capa de interfaz o presentación: Permite la interacción entre el usuario y el sistema de


información, a través de menú, vistas, pantallazos, donde su función principal consiste en facilitar
el ingreso de datos, realizar algunas validaciones, automatizar órdenes a nivel de ejecución de
procesos, generar información a través de informes y consultas, ofreciendo facilidad en la
usabilidad del recurso.

Capa de reglas de negocio o diseño de componentes: Contiene todo el desarrollo lógico


encargado del procesamiento de los datos con el fin de suministrar la funcionalidad al sistema,
siendo responsable de los cálculos, procesos con los datos que recibe, validaciones, controlando
así la ejecución de la capa de acceso a datos y servicios externos, coordinando el uso de los
diferentes objetos y componentes lógicos, su estructuración y dinámica, acorde a las
características de programación, sirviendo de enlace directo entre la interfaz y los
almacenamientos de datos.

Capa de Datos: permite la comunicación con la capa de las reglas del negocio u otras
aplicaciones que tienen la necesidad de acceder a los datos. Dicha capa normalmente se
representa por bases de datos estructuradas para el almacenamiento permanente de datos y la
generación de información.

Modelo Vista Controlador (MVC)


Es un estilo de arquitectura de software que separa los datos de una aplicación, la interfaz de
usuario, y la lógica de control en tres componentes distintos.

Se trata de un modelo muy maduro y que ha demostrado su validez a lo largo de los años en todo
tipo de aplicaciones, y sobre multitud de lenguajes y plataformas de desarrollo.

El Modelo contiene una representación de los datos que maneja el sistema, su lógica de negocio,
y sus mecanismos de persistencia.

La Vista, o interfaz de usuario, que compone la información que se envía al cliente y los
mecanismos interacción con éste.

El Controlador, actúa como intermediario entre el Modelo y la Vista, gestionando el flujo de


información entre ellos y las transformaciones para adaptar los datos a las necesidades de cada
uno.

El modelo es el responsable de:

➢ Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea independiente


del sistema de almacenamiento.
➢ Define las reglas de negocio (la funcionalidad del sistema). Un ejemplo de regla puede ser:
"Si la mercancía pedida no está en el almacén, consultar el tiempo de entrega estándar del
proveedor".
➢ Lleva un registro de las vistas y controladores del sistema.
➢ Si estamos ante un modelo activo, notificará a las vistas los cambios que en los datos pueda
producir un agente externo (por ejemplo, un fichero por lotes que actualiza los datos, un
temporizador que desencadena una inserción, etc.).

El controlador es responsable de:

➢ Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.).
➢ Contiene reglas de gestión de eventos, del tipo "SI Evento Z, entonces Acción W". Estas
acciones pueden suponer peticiones al modelo o a las vistas. Una de estas peticiones a las
vistas puede ser una llamada al método "Actualizar()". Una petición al modelo puede ser
"Obtener_tiempo_de_entrega ( nueva_orden_de_venta )".

Las vistas son responsables de:

➢ Recibir datos del modelo y los muestra al usuario.


➢ Tienen un registro de su controlador asociado (normalmente porque además lo instancia).
➢ Pueden dar el servicio de "Actualización ()", para que sea invocado por el controlador o por el
modelo (cuando es un modelo activo que informa de los cambios en los datos producidos por
otros agentes).
Creación de un proyecto java con NetBeans IDE 19
arquitectura MVC

1. File – New project…


2. Java with Ant – Java aplication – Next
3. Project Name: Nombre delproyecto: com.ejemploMVC
4. Desactivamos el chulo de: Create Main Class
5. Finish
6. En el paquete Source Package se crean los paquetes: controlador, modelo y vista haciendo
clic derecho – New JavaPackages
7. En el paquete modelo se crea las clases Modelo y Principal haciendo clic derecho - new Java
Class…
8. En el paquete vista se crea el o los formularios necesarios, clic derecho – new – JFrame
Form…
9. En el paquete controlador se crean el controlador haciendo clic derecho – New – Java Class…
¿Qué debe contener cada clase?

Clase Modelo
La clase modelo debe contener:

1. Los atributos, generalmente corresponden a los datos de entrada, en ocasiones se adicionan


otros según los requerimientos del problema
2. Constructores, uno en blanco y otro con todos los atributos
3. Métodos get y set de cada uno de los atributos de la clase
4. Métodos adicionales de acuerdo con la abstracción que se haya realizado del problema

Clase Vista
Contiene todos los componentes gráficos requeridos como etiquetas, campo de textos, lista
desplegable, casilla de verificaciones, botones de radio, botones, etc. Teniendo en cuenta que los
todos los componentes gráficos a excepción de las etiquetas se deben declarar como públicos, los
componentes gráficos en la vista se deben distribuir en un orden lógico así:
1. Los datos de entrada
2. Los datos de salida parciales
3. Los datos de salida totales
En caso de ser requerido, se puede tener dos o más vistas

Clase Controlador
Esta clase debe implementar ActionListener, por ejemplo:

public class Controlador implements ActionListener {

Seguidamente se declaran los atributos correspondientes a las distintas clases usadas tanto a nivel
del paquete modelo como el de la vista y la clase Validar la cual se adiciona al proyecto como
una librería de folder jar:
//Atributos de la clase
public Modelo mo;
public Vista vi;
public Validar va;

Se definen o declaran las variables auxiliares requeridas, de acuerdo con la abstracción realizada
del problema.

Se definen los formatos de salida, por ejemplo:


DecimalFormat f1 = new DecimalFormat("###,###,###,###.##");
DecimalFormat f2 = new DecimalFormat("############.#%");
DecimalFormat f3 = new DecimalFormat("$###,###,###,###.##");

Se crea el constructor con sus respectivos atributos, en el mismo constructor se adicionan los
componentes gráficos requeridos por ejemplo un botón:
this.vis.btnCalcular.addActionListener(e -> {
btnCalcular();
});
btnCalcular() corresponde a un método de tipo void en el cual se validan los datos de entrada, se
asignan valores o datos a los atributos de la clase a través de su objeto, se desarrollan los procesos
parciales y se visualizan los datos de salida parciales.

Si hay procesos totales, se adiciona el botón respectivo, se crea su método en el cual se realizan
los procesos totales y se visualizan los datos de salida totales.

Se sugiere crear un método para darle un título al formulario en tiempo de ejecución y centrar la
vista en la pantalla del PC.

public void Iniciar() {


vis.setTitle("Título");
vis.setLocationRelativeTo(null);
}

Clase Principal
Se implementa el método public static void main(String[] args), se instancian las clases del
paquete modelo, vista y controlador, se hace visible la vista, por ejemplo:
public static void main(String[] args) {
Modelo mo = new Modelo();
Vista vi = new Vista();
Validar va = new Validar();
Controlador co = new Controlador(mo, vi, va);
co.iniciar();
vi.setVisible(true);
}
Temática

Unidad 1 Perfiles del desarrollo de software


Que es el desarrollo de software
Metodologias del desarrollo de software
Componentes de la orientación a objetos

Uniodad 2 Fundamentos de java


Historia, características del lenguaje java
Tipos de datos, operadores aritméticos, relacionales y booleanos
Palabras claves
Secuencias de escape y concatenación
Estructuras Lógicas
Preposiciones lógicas simples
Preposiciones lógicas compuestas (if)
Ciclo para (for)
Ciclo Mientras que (while)
Selector Múltiple (switch)
Operador ternario (?)
Normas básicas de desarrollo
Comentarios como anulación de una línea de código (//)
Comentario o anulación de código de varias líneas (/* … */
Clases comunes
Modelo vista controlador (MVC)
Estructura de un proyecto java bajo la arquitectura de software por capas o modelo vista
controlador
Creación de un proyecto java con NetBeans IDE 13 modelo MVC

También podría gustarte