Software">
Fundamentos de Programacion
Fundamentos de Programacion
Fundamentos de Programacion
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.
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
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
Entidad NombreEntidad
Tipo Atributo Descripción
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
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.
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 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.
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.
/* 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.
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 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.
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.
➢ 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 )".
Clase Modelo
La clase modelo debe contener:
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:
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 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.
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