De vez en cuando, cuando visito un sitio web de TI, encuentro que hay muchas cosas que buscan novedad, novedad, especialización y sesgo. ¡Se puede decir que hay de todo en el mundo! Pero frente a la situación actual del software chino, por un lado encontramos que hay muchos, muchos softwares prácticos en proceso de compilación, y mucha gente está trabajando horas extras y todavía hay muchos, muchos; softwares prácticos que nadie ha desarrollado y está esperando que alguien lo haya desarrollado. Por otro lado, también descubrimos que hay muchos programadores inactivos que no saben lo que quieren desarrollar. No sé qué habilidades de programación necesito dominar, así que paso mucho tiempo aprendiendo esto y aquello en línea. Además de aprender, todavía aprendo, pero simplemente no lo hago. El buen tiempo se pierde en vano. , lo cual es desgarrador. Muchos programadores no saben que lo que más les falta a estos software prácticos actualmente no son cosas nuevas, extrañas, especializadas o sesgadas, sino tecnología práctica, calidad y habilidades en la aplicación de tecnología práctica.
Dado que la programación es "todos los caminos conducen a Roma", los programadores tienen una gran autonomía y pueden utilizar cualquier método para implementar funciones, lo que da como resultado niveles de programación desiguales. Creo que los programadores deben dominar las habilidades prácticas de programación. Para dominar estas habilidades, deben dominar la esencia de estas habilidades. Sólo comprendiendo a fondo estas esencias podrán resumir el alcance de su aplicación y sus puntos de atención: y aquellos programadores que solo saben cómo escribir programas. pero no sé por qué están escritos de esta manera. Puede que no sea posible utilizar las mejores declaraciones, las declaraciones más simples y las declaraciones más apropiadas para escribir programas, y mucho menos usar habilidades superiores para combinar estas declaraciones para lograr alta calidad. programas.
En la práctica de programación a largo plazo, creo que las siguientes habilidades de programación son la base y deben dominarse. Se deben utilizar otras habilidades de programación de nivel superior para aprenderlas.
1. Asignación
La asignación es una declaración básica indispensable en la programación y es la declaración más básica. Dominar esta afirmación parece muy simple, pero cuanto más simple es, más atención debes prestar. La asignación más sencilla es asignar un valor a una variable. Por ejemplo x=1.
La esencia de la asignación es la transferencia entre cosas. Además, la asignación en sí es un proceso intermedio, y el significado reflejado a nivel de código es asignar un valor o puntero de memoria en la memoria a un puntero de memoria.
Hay dos aspectos de la asignación: uno es: qué valor, variable u objeto se toma, y el otro es: a qué variable u objeto se asigna. Cuando los programadores programan, a menudo se confunden en dos aspectos: qué valores, variables y objetos obtengo, cómo encontrar estos valores, variables y objetos, y a quién se los asigno después de obtenerlos. Esto es lo que nos encontramos a menudo.
Cuando asignamos valores debemos prestar atención a:
1) Los tipos de datos en ambos lados de la ecuación deben ser iguales.
2) Las declaraciones de tareas son más rápidas que otras declaraciones. Esto debe tenerse en cuenta cuando nos centramos en la eficiencia.
Las declaraciones de asignación son más rápidas que las llamadas a funciones y que las declaraciones de bucle.
Por ejemplo: una declaración de bucle se escribe en un bucle enorme:
para(i=0;i<3;i++)
A[i]=i+1;
También podría convertirlo en una declaración de tarea:
A[0]=1;
A[1]=2;
A[2]=3;
3) Cuando hay múltiples declaraciones de asignación, el procesamiento de la asignación puede ser secuencial.
4) Hay demasiadas declaraciones de asignación (más de 20, que son muy rígidas de leer y no tienen contenido técnico, es posible que sea necesario considerar la asignación circular).
2. Procesamiento condicional
El procesamiento condicional ocupa el segundo lugar después del procesamiento de asignaciones en el contenido de programación, y los cambios de programa son básicamente causados por el procesamiento condicional. Se llevarán a cabo tratamientos diferentes cuando se cumplan condiciones diferentes. Por lo tanto, la esencia del procesamiento condicional es que los cambios en las cosas traen consigo los cambios correspondientes.
En la práctica de la programación, a menudo nos confundimos acerca de: ¿Qué condiciones? ¿Qué hacer? Y también considere cuándo comenzar a considerar las condiciones.
El procesamiento de asignaciones es un procesamiento secuencial. La condición aumenta la posibilidad de procesar la asignación. Cuando se cumple la condición, se puede ejecutar la asignación A. Cuando no se cumple la condición, se puede ejecutar la asignación B.
Al procesar las condiciones, debemos prestar atención a:
1) ¿Cómo elegimos mis términos? Esa es nuestra expresión condicional.
De hecho, este tema es muy complicado.
En términos generales, tomaremos la condición más importante como primera condición. Sin embargo, también consideraremos la condición del conjunto de resultados más grande que satisfaga la condición como primera condición. Estas condiciones finales a menudo no se pueden cumplir, o incluso una vez cumplidas, no requieren mucho procesamiento.
Desde el diseño de expresiones condicionales, podemos usar una sola variable para representar la condición, o múltiples operaciones con variables para representar la condición. Una sola variable puede representarse mediante tipos numéricos, de caracteres o lógicos. Entre ellos, también es muy particular.
Por ejemplo. bandera==1;bandera=='1';bandera==Verdadero
Ambos pueden permitir que se transfieran las condiciones del programa, pero hay muchos factores a considerar a la hora de elegir.
2) No dejemos de lado las excepciones
Por ejemplo, cuando consideramos i=1 e i=2, no consideramos i<1 e i>2.
La omisión de condiciones a menudo indica que nuestros programadores carecen del concepto general y del concepto de excepciones. Ésta es una de las razones por las que muchos programas están mal escritos.
3) No puede haber ninguna intersección entre condiciones.
Por ejemplo:
Si(i>1 &&i<=5)
x=1;
Si(i>4&&i<10)
x=2;
Cuando i = 5,
x es igual a 1 primero y luego es igual a 2. Esto debe evitarse. Muchos errores de programa están relacionados con este tipo de problemas.
4) Prestar especial atención a la cobertura del procesamiento condicional.
Por ejemplo: si (bandera==1)
X=1;
Si(bandera==2)
X=2;
X=5;
No importa cuáles sean las condiciones, x siempre es igual a 5.
5) Estar al tanto de las respectivas adaptaciones de si y caso. Sepa cuándo usar si y cuándo usar el caso.
3. ciclo
El bucle es una expresión simple de operaciones repetidas, siempre que haya operaciones repetidas, se pueden utilizar declaraciones de bucle. La esencia de los ciclos es la repetición.
Al procesar bucles, debemos prestar atención a:
1) El procesamiento circular es un aspecto importante que afecta la eficiencia.
Cuando hay un problema de eficiencia en el programa, primero debe buscarlo en la declaración de bucle.
2) Requisitos previos para el procesamiento de bucles
En términos generales, las declaraciones de bucle se pueden utilizar para ejecuciones repetidas más de tres veces. Por menos de tres veces, es mejor no utilizar declaraciones de bucle.
Por ejemplo:
Para(i=0;i<3;i++)
B[yo]=yo;
Es mejor escribir:
B[0]=0;
B[1]=1;
B[2]=2;
Por supuesto, en términos de legibilidad y escalabilidad, también se pueden utilizar declaraciones de bucle.
3) Diferentes condiciones de bucle utilizan diferentes declaraciones de bucle
Los programadores necesitan saber cuándo usar for, cuándo usar do while y cuándo usar foreach.
Aunque las declaraciones anteriores pueden lograr el mismo propósito, los programadores aún necesitan conocer su alcance de aplicación para que puedan ser más apropiadas.
4) Haga un uso completo de las declaraciones en el bucle, como el bucle de interrupción, el bucle de continuación, el retorno de función, la salida del programa, etc., para hacer que el bucle sea más colorido.
4. Operaciones con cadenas
Las cadenas son una representación importante de información. La manipulación de cadenas es una de las operaciones más utilizadas en programación. La esencia de la operación con cadenas es el procesamiento de información. Dado que no existen estándares para mucha información, los programadores la manipulan para ajustarla a sus propios requisitos estándar.
Por ejemplo: algunas cadenas contienen información diversa, entonces las cadenas deben dividirse; a algunas cadenas les falta información y luego las cadenas deben fusionarse.
Preste atención principalmente a los siguientes aspectos al operar cadenas:
1) Procesamiento de cadenas vacías
Dado que la cadena original tendrá varios espacios al principio y al final de la cadena debido a razones operativas y del sistema, los espacios deben eliminarse antes de procesar la cadena.
2) Procesamiento de código confuso
Hay varios caracteres confusos en algunas cadenas, lo que hace que aparezcan caracteres incomprensibles en la visualización de cadenas. Estas situaciones se deben principalmente a la presencia de códigos de caracteres de control en cadenas y a discrepancias de caracteres en los caracteres chinos.
3) Procesamiento delimitador
Los delimitadores suelen aparecer en un registro o parámetro para separar información, y la información se puede extraer a través de delimitadores. En la práctica, puede suceder que el contenido de la información en sí contenga delimitadores, o que los delimitadores se generen durante la generación de código confuso. En estos casos, es necesario cambiar los delimitadores o realizar un procesamiento especial.
4) Conversión entre caracteres y otros tipos de datos.
En la programación real, la coherencia de los objetos con los que operamos a menudo requiere la operación de convertir cadenas a otros tipos de datos o convertir otros tipos de datos en cadenas. En términos generales, es más fácil convertir otros tipos de datos en cadenas, pero al convertir cadenas en otros tipos de datos, debe considerar si el formato de la cadena antes de la conversión cumple con los requisitos.
Por ejemplo: para convertir "1.000.000" en un valor numérico, elimine "," antes de la conversión.
5) Procesamiento de subcadenas
El procesamiento de subcadenas se utiliza a menudo en consultas. Hay tres tipos de coincidencia de subcadenas: al frente, al medio y al final. La coincidencia de subcadenas suele llevar más tiempo. Cuanto más corta sea la subcadena y más larga sea la cadena de consulta, más tiempo llevará. Al realizar consultas en el campo indexado, solo la primera coincidencia puede usar el índice para lograr el propósito de una consulta rápida. Sin embargo, si se usan las coincidencias intermedias y posteriores, el índice no será válido y cada registro debe coincidir uno por uno. , que lleva más tiempo. Los programadores deben comprender el contenido anterior y aprovechar la situación para procesar correctamente las subcadenas y lograr consultas rápidas.
5. Operaciones aritméticas
Las operaciones aritméticas ocupan el segundo lugar después de las operaciones con cadenas en programación. Entre ellas, sumar 1 tiene muchas operaciones y se usa ampliamente. La suma, resta, multiplicación y división se utilizan con mayor frecuencia en el software de aplicación general. La esencia de las operaciones aritméticas es el procesamiento de información numérica. Las operaciones aritméticas son requisitos algorítmicos para aplicaciones prácticas, por un lado, y algoritmos de programación, por otro.
Por ejemplo, el sistema de aplicación necesita calcular el área de un rectángulo. Entonces se escribirá la declaración S=L*D.
Si desea programar y calcular el área de 100 rectángulos, necesita un puntero para calcular el área del siguiente rectángulo mediante el puntero + 1. El puntero se incrementa en 1. Esta operación es requerida por el algoritmo.
Las operaciones aritméticas se utilizan en aplicaciones donde los cálculos de fórmulas son relativamente simples. Sin embargo, las técnicas y la implementación de las operaciones aritméticas utilizadas en los algoritmos no son tan simples. Los puntos clave a tener en cuenta son: definir algunas variables intermedias y convertirlas en operaciones de bucle mediante la suma y resta de variables intermedias.
6. matriz
Una matriz es una colección que almacena datos. Las operaciones de matriz también se encuentran comúnmente en programación: la esencia de una matriz es una colección de cosas. Sin embargo, cabe señalar que la cantidad de objetos de la colección es limitada y su matriz se almacena en la memoria, por lo que las operaciones de la matriz son muy rápidas. Una gran parte del uso de matrices es el uso de declaraciones de bucle. La combinación de matrices y bucles mejora enormemente la calidad de los programas.
Para los arrays debemos prestar atención a:
1. Problemas relacionados con la cantidad de matrices.
2. Método de representación y forma de almacenamiento de matrices multidimensionales.
3. Problema de matriz fuera de límites
4. Matriz vacía
5. El uso de matrices en sentencias de bucle.
Adjunto: Pensé que este tema podría resolverse en un artículo, pero cuanto más escribía, más no tenía más remedio que simplificarlo y luego simplificarlo, así que escribámoslo en partes.
Artículo siguiente "Habilidades prácticas de programación que los programadores deben dominar 2"
Contenido principal:
7. Llamar
8. Operaciones de archivos
9. Operaciones lógicas
10. matriz
11. Base de datos
12. Controles
13. clase
14. Parametrización