¡Hola amigos! Soy principiante en el lenguaje JAVA.
Para aprender un nuevo conocimiento, es imposible pretender dominarlo por completo leyendo sólo uno o dos libros. Se requiere un proceso de lectura paso a paso. Recomiendo la serie de libros Java publicada por Oreilly.
Solo quiero agregar algunas opiniones aquí. Mucha gente comienza a aprender Java con el libro "Pensar en Java", pero creo que este libro no es adecuado para principiantes. Creo que la forma correcta de utilizar este libro es como lectura complementaria. "Pensar en Java" no es una introducción completa a todo el sistema Java, sino un método de escritura de salto, un método similar a un consejo para realizar un análisis y explicación en profundidad de muchos puntos de conocimiento de Java.
Para principiantes, es mejor encontrar un libro de introducción a Java, que proporcione una introducción más completa y paso a paso a la sintaxis de Java, las características orientadas a objetos, las bibliotecas de clases principales, etc., mientras leyendo este libro Mientras lee el libro, puede leer "Pensar en Java" simultáneamente para profundizar su comprensión de Java y la aplicación de principios y, al mismo tiempo, puede tener una comprensión completa de todo el sistema Java.
Para libros de introducción a Java, Cai Xueyong recomienda "Exploring Java, 2nd Edition" o "Java in a Nutshell, 2nd Edition (para conocimientos de C++)" de Oreilly. No he leído estos dos libros. . De hecho, creo que "Explicación detallada de la programación de Java 2" o "Java 2 de principiante a maestro" de Electronic Industry Press son muy buenos.
¡Entre todos los libros de Java, el más útil no es el Java Serials de O'reilly, sino la documentación del JDK! Casi todo el conocimiento que desea obtener está disponible en Documentación. La parte más importante es, por supuesto, la documentación API de la biblioteca de clases básica de Java, que está organizada según cada clase y su relación de herencia. Se implementa una interfaz y en qué situaciones se utiliza habitualmente. También puede consultar todos sus atributos y métodos públicos, la explicación y significado de cada atributo, el propósito de cada método, los parámetros de la llamada y el significado del. parámetros. El tipo de valor de retorno, las excepciones que puede generar el método, etc. Se puede decir que todos los libros sobre programación Java en realidad solo utilizan un lenguaje relativamente fácil de entender y una buena organización para introducir el uso de algunas clases contenidas en un paquete en la Documentación. Entonces todo sigue igual. Si tienes la capacidad suficiente para aprender las bibliotecas de clases de Java directamente a través de la Documentación, básicamente no hay necesidad de leer otros libros. Además, la Documentación también es un manual necesario para la programación. Hay tres accesos directos a la Documentación en mi escritorio, a saber, Documentación de J2SDK1.4.1, Documentación de Servlet2.3 y Documentación de J2SDKEE1.3.1. Con estos tres Documentos no se necesitan otros libros.
Para la programación web Java, lo más importante es estar familiarizado y dominar el protocolo HTTP. Esto no tiene nada que ver con Java. Una vez que esté familiarizado con el protocolo HTTP, debe estar familiarizado con él. La biblioteca de clases de Java que implementa el protocolo HTTP. Esa es la API de Servlet, por lo que lo más importante es la API de Servlet. Por supuesto, para los principiantes, es muy difícil aprender programación web directamente a través de la API de Servlet. Recomiendo el libro "Java Server Pages" de O'reilly para aprender programación web.
Entre los libros de EJB, "Enterprise JavaBeans, 2nd Edition" es un muy buen libro. El umbral de aprendizaje de EJB es relativamente alto y es difícil comenzar, pero este libro reduce por completo la dificultad de aprender. Un punto particularmente importante es que el aprendizaje de EJB debe combinarse con la implementación específica de un servidor de aplicaciones. Por lo tanto, mientras aprende EJB, también debe aprender un determinado servidor de aplicaciones al mismo tiempo. Weblogic6 .1, la implementación de los ejemplos del libro implementada en Websphere4.0 y JBoss3.0. Realmente tiene teoría y práctica. Mientras aprende EJB, puede verlo y hacerlo al mismo tiempo, y aprender EJB será muy fácil.
Pero este libro también tiene un problema, es decir, la versión es relativamente antigua y habla principalmente de las especificaciones EJB1.1 y algunas especificaciones EJB2.0. El libro "Mastering EJB 2.0" escrito por Ed Roman se basa completamente en la especificación EJB2.0. Explica todo en términos simples y cubre todos los aspectos de la programación EJB. También es uno de los mejores. Libros recomendados para aprender EJB.
Si está aprendiendo J2EE en combinación con Weblogic, "Aplicaciones J2EE y BEA Weblogic Server" es definitivamente la primera lectura. Aunque se trata de Weblogic 6.0, vale la pena comprarlo oficialmente. Libro de texto recomendado por BEA, el autor también es ingeniero en BEA. La versión china ya está disponible en todas partes. Este libro combina Weblogic para presentar el desarrollo y la implementación de varios aspectos de la tecnología J2EE en la plataforma Weblogic. Tiene una gran importancia como guía práctica.
Después de dominar los conocimientos básicos de la plataforma Java y J2EE, el siguiente paso es aprender a utilizar métodos OO para diseñar software, luego debe aprender "patrones de diseño". Sun ha publicado un libro llamado "J2EE Core Patterns", que es un libro imprescindible para todo arquitecto que desarrolle software de plataforma empresarial Java. Este libro presenta de manera integral varios patrones de diseño de la arquitectura J2EE y es una lectura obligada para los diseñadores.
Proceso de la ruta de aprendizaje de Java (3)
El método de aprendizaje de cada persona puede no ser adecuado para otra persona. Debido a que aprendí Java completamente por mí mismo y nunca le pregunté a nadie más, el proceso de aprendizaje lo descubrí básicamente por completo yo mismo. No sé si este método es mejor, solo puedo brindarles alguna referencia.
El primer paso para aprender Java es instalar JDK y escribir un Hola mundo. De hecho, aprender JDK no es tan simple. Hay dos problemas sobre JDK que fácilmente preocupan a los programadores de Java: uno es un CLASSPATH. De hecho, en principio, es descubrir cómo el ClassLoader de JRE carga la clase. Otro problema es el problema del paquete y la importación, cómo encontrar la ruta de la clase; Una vez que se aclaren estas dos cuestiones, se eliminará el mayor obstáculo para aprender Java y utilizar JDK. Se recomienda leer "Java Deep Adventure" de Wang Sen, que analiza en profundidad estos dos temas.
El segundo paso es aprender la sintaxis de Java. La sintaxis de Java es similar a C ++. Básicamente, los lenguajes de programación convencionales son similares a C o C ++. No hay nada nuevo, por lo que medio día es suficiente para aprender la sintaxis. Lo único que necesita atención es que hay varias palabras clave que no son fáciles de entender, como público, protegido, privado, estático, cuándo usarlas, por qué usarlas y cómo usarlas. Esto puede requerir que alguien lo haga. Darte un consejo. En ese momento estaba completamente solo. Me llevó mucho tiempo entenderlo. Pero luego vi el libro "Pensar en Java" que habla sobre estos conceptos.
El tercer paso es donde aprenderá las características del lenguaje de programación orientado a objetos de Java. Por ejemplo, herencia, constructores, clases abstractas, interfaces, polimorfismo de métodos, sobrecarga, anulación y mecanismo de manejo de excepciones de Java.
Para alguien que no tiene experiencia en lenguajes orientados a objetos, creo que este proceso lleva mucho, mucho tiempo, porque no tengo experiencia en C++ antes de aprender Java, solo experiencia en C. Me tomó alrededor de un mes completarlo. Después de aclarar todos estos conceptos, reflexioné, revisé y probé repetidamente los ejemplos del libro. Leí el contenido de esos capítulos una y otra vez. Los leí no menos de 5 veces antes de comprenderlos por completo. Pero creo que si tienes experiencia en C++, uno o dos días deberían ser suficientes. Entonces, durante este proceso, puedes leer más sobre el libro "Pensar en Java", que explica muy detalladamente la orientación a objetos. Es una pena que no leí este libro cuando estaba estudiando, así que dediqué mucho tiempo a aprenderlo a través de mis propias pruebas y especulaciones.
El cuarto paso es familiarizarse con la biblioteca de clases de Java. La biblioteca de clases básica de Java es en realidad el paquete jre\lib\rt.jar en el directorio de instalación de JDK. Aprender la biblioteca de clases básica es aprender rt.jar. Hay muchísimas clases en la biblioteca de clases básica. Se dice que son más de 3.000, pero no los he contado. Pero sólo hay cuatro que son realmente fundamentales para nosotros:
java.lang.*;
java.io.*;
java util. *;
java.sql.*;
El estudio de estos cuatro paquetes se puede escribir en un libro de texto grueso, y O'reilly Y eso es exactamente lo que hizo. Siento que si hay poco tiempo, es imposible aprender leyendo cuatro libros. Creo que un mejor método de aprendizaje es el siguiente:
En primer lugar, lea todo el marco del paquete y comprenda la composición de las clases, interfaces y excepciones de todo el paquete. Es mejor encontrar artículos que lo presenten. todo el marco del paquete. Los primeros capítulos de estos libros dedicados a los paquetes deberían ser una introducción a los contenidos generales de este marco.
Comprender el marco general del paquete no significa estar familiarizado con el uso de cada clase y recordar qué atributos y métodos tiene. No puedo recordarlo aunque quisiera. Más bien, necesita saber de qué clases se compone el paquete, cuáles son los usos de estas clases y qué funciones completan las clases principales. Cuando entreno a personas, normalmente enseño un paquete a la vez, por lo que es imposible presentar el uso de cada clase en detalle, pero he enfatizado repetidamente que el propósito de contarles estos paquetes no es decirle cómo llamar al métodos de la clase. No requiere que recuerde las llamadas a los métodos de las clases, pero requiere que comprenda qué clases nos proporciona Java y cuándo se usa cada clase. Cuando encuentro un problema, sé qué clase. o donde una combinación de varias clases puede solucionar mi problema, ¡Eso es todo! , cuando escribimos un programa específicamente, es suficiente con que sepas qué clase usar para completar tu trabajo. Al codificar, la llamada al método específico es verificar la documentación mientras se escribe el código. Todo está en la documentación. No es necesario que lo recuerde. De hecho, no puede recordar el total de más de 3000 clases. 10 Miles de llamadas a métodos. Por lo tanto, resulta extremadamente importante comprender el marco general de cada paquete.
El quinto paso es aprobar el estudio anterior. Si ha aprendido de manera más sólida, habrá sentado las bases de Java. El trabajo restante es borrar la documentación, excepto los 4 paquetes anteriores. otras clases útiles. Creo que en este punto de progreso, la capacidad de autoaprendizaje de Java se ha desarrollado y ha alcanzado el nivel de aprendizaje directo de Documentación. Además de la programación GUI, otros paquetes útiles en el JDK son:
java.text.*;
java.net.*;
javax.naming .*;
En realidad, hay muy pocas clases que se utilizan en estos paquetes, solo unas pocas, por lo que no es necesario dedicar mucho tiempo.
El sexto paso, programación web Java
El núcleo de la programación web es el protocolo HTTP. El protocolo HTTP no tiene nada que ver con Java si no está familiarizado con el protocolo HTTP. También puedes aprender bien la programación de Servlet/JSP, pero no puedes llegar al estado de hacer inferencias de una instancia y comprenderlo todo. Por lo tanto, es necesario aprender el protocolo HTTP.
Si está familiarizado con el protocolo HTTP y tiene una buena base en programación Java, aprender Servlet/JSP es fácil. Me tomó menos de una semana aprender Servlet/JSP y luego comencé a usar JSP para hacer proyectos.
En el estudio de Servlet/JSP, lo más importante sigue siendo la documentación de Servlet. Hay muy pocas clases más utilizadas en la API de Servlet y puedes dominarlas en relativamente poco tiempo. Lea estas categorías e intente escribir algunos ejemplos más. La esencia de la programación Servlet/JSP es llamar repetidamente a estas clases para comunicarse entre el servidor web y el navegador a través del protocolo HTTP. Además, para JSP, también debe estar familiarizado con varias etiquetas JSP de uso común. Si no recuerda el método de escritura específico, puede buscarlo temporalmente.
Además, el aprendizaje de programación web Java debe centrarse en los patrones de diseño de aplicaciones web, cómo analizar la lógica empresarial y realizar un diseño razonable, y utilizar Servlet y JSP para completarlo de acuerdo con los requisitos. del patrón de diseño MVC diferentes capas lógicas, domine cómo controlar el proceso y compartir datos entre Servlet y JSP, y cómo se debe configurar e implementar la aplicación web.
El séptimo paso, programación J2EE
Si el proceso de aprendizaje anterior es relativamente sencillo, la dificultad aumentará repentinamente en este paso. Debido a que el contenido de conocimiento anterior solo involucra un aspecto, y las especificaciones centrales de J2EE como EJB, JMS y JTA son a menudo el resultado de la aplicación integral de varias tecnologías Java, es relativamente difícil dominarlas.
En primer lugar, debe aprender bien JNDI. JNDI es el método para que App Server localice los recursos del servidor (componentes EJB, Datasouce, JMS). Si no está familiarizado con JNDI, es casi imposible. Aprenda EJB y JMS. JNDI es en realidad el paquete javax.naming.*, que es muy sencillo de usar. La dificultad radica en la configuración de los archivos de recursos del servidor. Para la configuración de los archivos de recursos del servidor, debe consultar las especificaciones de documentos especiales, como cómo escribir web.xml, cómo escribir ejb-jar.xml, etc. Para cada servidor de aplicaciones diferente, también existe su propio archivo de configuración de recursos de servicio, con el que también debe estar familiarizado.
Luego podrás aprender JTA, principalmente para comprender cómo JTA controla las transacciones y cuándo usar JTA. Aquí hay un ejemplo simple. Sabemos que generalmente podemos realizar el control de transacciones en una conexión de base de datos (conn.setAutoCommit(false),...,conn.commit()) como una operación atómica, pero supongamos que mi requisito comercial. es realizar operaciones en dos bases de datos diferentes como una operación atómica. ¿Puedes hacerlo? En este momento, solo se puede utilizar JTA. Supongamos que el proceso de operación consiste en insertar primero un registro en la base de datos A y luego eliminar otro registro de la base de datos B. Si escribimos el código nosotros mismos, no podemos controlar toda la operación como una operación atómica. Con JTA, el control lo completa el servidor de aplicaciones.
Antes de aprender EJB, debes aprender la serialización de objetos y RMI es la base de EJB. A continuación, aprenda JMS y EJB. Para EJB, lo más importante es comprender cómo EJB implementa llamadas a objetos remotos a través de RMI y en qué circunstancias se utiliza EJB.
Después de aprender EJB y JMS, es posible que te des cuenta de que no puedes esperar para aprender conocimientos en dos áreas, una es UML y la otra es Design Pattern. El diseño del software empresarial Java concede gran importancia al diseño del marco. Un buen marco de software es una condición necesaria para el desarrollo de software exitoso. En este momento, debe comenzar a concentrarse en aprender marcos y patrones de diseño y dominar los patrones de diseño de EJB y los patrones centrales de J2EE a través del aprendizaje y la experiencia práctica en programación.
En la especificación J2EE, además de EJB, JMS, JTA, Servlet/JSP y JDBC, hay muchas, muchas tecnologías empresariales, que no se presentarán una por una aquí.
También hay un campo más reciente, Servicios Web. Los servicios web no tienen nada nuevo. Es como un pegamento que puede unificar diferentes servicios para proporcionar una interfaz de llamada unificada. Como usuario, solo necesito obtener el WSDL que me proporcionó el proveedor del servicio (para la descripción del servicio). ) es suficiente. No tengo idea de si el servicio proporcionado por el proveedor del servidor es un componente EJB, un componente .Net, un componente CORBA o alguna otra implementación, y no necesito saberlo. Lo mejor de los servicios web es que permite compartir todo el servicio de Internet a través de un método de prestación de servicios y un método de llamada unificados. Es un campo técnico muy interesante. Parece que todavía no existen buenos libros sobre servicios web, pero puedes aprender sobre ellos buscando información en Internet.
Métodos de la ruta de aprendizaje de Java (4)
Como lenguaje de programación, la mejor manera de aprender Java es escribir código. Después de aprender una clase, puede escribir un programa de ejemplo simple para ejecutarla y ver cuáles son los resultados, y luego llamar a algunos métodos de clase más para ver los resultados de la ejecución. De esta manera, puede aprender la clase de manera muy intuitiva. La memoria es muy profunda. Entonces no deberías conformarte con ajustar el código. Deberías pensar si funcionaría si no lo escribiera de esta manera, intentarlo de otra manera y volver a intentarlo. Recuerdo que un experto dijo que aprender a programar es un proceso de destrucción. Después de leer los ejemplos del libro y aprender a escribir documentación, trato constantemente de usar diferentes métodos para lograrlo y trato constantemente de destruir la estructura del código. Echa un vistazo. ¿Cuál será el resultado? De esta manera, dominarás Java a fondo y con fluidez.
Por ejemplo, todos tenemos programado Hello World
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
Muchos principiantes no entienden muy bien por qué el método principal debe ser así esto Para definir public static void main(String[] args), ¿no podemos escribirlo así? Incluso cuando aprendí Java por primera vez, también tuve esas preguntas. ¿Quieres saber la respuesta? Es muy simple. Puede cambiar el nombre de main y ejecutarlo para ver qué errores se informan, y luego analizarlo según el mensaje de error; eliminar el público de main e intentarlo nuevamente para ver qué errores se informan; ¿Estático? No sé si main ¿El método tiene que pasar una matriz String[]? Cambie String[] a int[], o intente con String. No sé si es necesario escribir el nombre del parámetro args. También puede cambiar los argumentos por otro nombre y ver cuáles son los resultados.
Esto es lo que hice cuando aprendí Java por primera vez. Cambié el programa Hello World siete u ocho veces, seguí ejecutándolo y analicé los resultados de la ejecución. Finalmente, entendí completamente por qué se definió el método principal. Por aquí.
Además, al principio no sabía mucho sobre estática, pública, privada, excepción, try{}catch {}finally{}, etc. Solo ejecuté los ejemplos en el libro de referencia. Luego comencé a destruirlo, reescribiendo constantemente el programa según mis propias preguntas para ver si podía ejecutarse, cómo se vería cuando se ejecutara y si podía obtener los resultados esperados. Aunque esto lleva más tiempo, un programa de muestra se destruye repetidamente de esta manera varias veces. He aprendido a fondo este conocimiento relacionado. A veces incluso escribimos deliberadamente algún código incorrecto y lo ejecutamos para ver si podemos obtener el error de ejecución esperado. Este dominio de la programación es extremadamente profundo.
Vale la pena mencionar especialmente que JDK tiene una muy buena función de depuración, -verbose
java –verbose
javac –verbose y muchas otras herramientas JDK. tener esta opción
-verbose puede mostrar qué clase carga la JVM en secuencia durante la ejecución del comando. A través de esta valiosa información de depuración, puede ayudarnos a analizar qué hizo la JVM durante la ejecución.
Además, durante el proceso de aprendizaje, escribí muchas rutinas destructivas, que deberían guardarse conscientemente en categorías. Las rutinas típicas acumuladas en el trabajo también deberían clasificarse con el tiempo. poder Ahora tenemos una base de código. Cuando encuentre problemas similares, simplemente vaya a la base del código y copie y pegue, busque y reemplace, lo que mejora enormemente la velocidad de desarrollo. La situación más ideal es abstraer algunas rutinas comunes para formar una biblioteca de clases común y encapsularlas. Entonces la reutilización será más fuerte.
Así que no creo que las rutinas sean particularmente necesarias. Las rutinas de destrucción escritas por usted mismo son el mejor ejemplo. Si realmente está preocupado por el código que escribió, le recomiendo que eche un vistazo a JDK. Conceptos básicos del código fuente de Java para la biblioteca de clases. Habrá un src.zip en el directorio de instalación de JDK. Después de descomprimirlo, podrá ver completamente toda la biblioteca de clases básicas de JDK, que es el código fuente de Java de rt.jar. Puede consultar cómo Sun escribe programas y especificaciones de Java. ¿Cómo se ve? Cuando estoy aprendiendo la biblioteca de clases de Java, cuando no entiendo algo con mucha claridad o cuando quiero comprender los detalles de la operación con mayor claridad, a menudo abro el código fuente de la clase correspondiente mirando el código fuente. , todos los problemas serán eliminados.
Recursos de la ruta de aprendizaje de Java (5)
1. /
Sitio web de DeveloperWorks de IBM, si domina el inglés, vaya directamente al sitio principal en inglés. Este no es solo un excelente sitio web de diseño y análisis orientado a objetos, sino también un excelente sitio web para servicios web, Java y Linux. ¡Muy recomendado! ! !
3. /index.jsp
El jardín de desarrolladores de BEA, como el fabricante de servidores de aplicaciones más importante, tiene muchas tecnologías únicas. Los amigos que desarrollan en Weblogic no deberían perderse.
5.jsp.org/
El sitio web de tecnología JSP tiene bastantes artículos y recursos sobre Java.
9.com/book/index.html
========================== =======================================
==== ==================================================== ===========
-------------------------------- ----------------------------------
Programador es un trabajo técnico, en TI Juega un papel muy importante en el desarrollo del sistema, desde el establecimiento del protocolo de comunicación de hardware subyacente, hasta el procesamiento de la capa de transmisión de datos, la construcción del sistema operativo, la construcción de la plataforma de base de datos y la construcción. de varias plataformas de marketing de datos en la capa de aplicación, los programas Los empleados desempeñan un papel fundamental en él y han hecho grandes contribuciones al desarrollo de la industria de TI.
Hay muchas personas en China que dominan la codificación. Sin embargo, existen muchos malentendidos en la industria del software de China, especialmente en el desarrollo de aplicaciones de red y es difícil formar fuerzas de desarrollo de software y capacidades de productos a gran escala. No sólo está muy por detrás de Estados Unidos, sino que, en comparación con la India, es bastante inferior.
Estos problemas no radican en el coeficiente intelectual y el arduo trabajo de los programadores chinos, ni en el nivel de inversión estatal y privada en el desarrollo, pero en gran medida existen algunos malentendidos ideológicos sobre la tecnología, el desarrollo de programas y el diseño de proyectos. han llevado a la industria del software a una capacidad de producción insuficiente y a la falta de capacidades de desarrollo de sistemas de reutilización a gran escala y a gran escala. Se puede decir que cambiar los malentendidos es un paso importante para resolver las limitaciones causadas por el modelo de taller pequeño y el modelo de héroe individual. la industria del software.
Hay muchos niños en China, tienen 18,9 o 21,2 años y han escrito mucho código a través del autoestudio. Algunos de sus códigos están muy bien escritos y algunos de los detalles técnicos. Son bastante sobresalientes y muy interesantes. Tienen espíritu de investigación, pero están influenciados por algunos conocimientos y opiniones equivocados, y carecen de una comprensión general del sistema y del programa. Estas personas, dijo muy bien un amigo en línea, en realidad lo son. Solo algunos fanáticos de la codificación, y no están calificados para ser llamados programadores, pero hasta donde yo sé, muchos CTO de pequeñas empresas de Internet son fanáticos de la codificación. Ganan salarios aterradores y trabajan en proyectos aterradores, y el final del proyecto es. suele dar miedo.
Cualidades básicas de los programadores:
Ser un programador verdaderamente calificado, o un programador que realmente pueda estar calificado para completar algún trabajo de código, debe tener las cualidades.
1: Espíritu de equipo y capacidad de colaboración
Tomar esto como una cualidad básica no deja de ser importante, al contrario, es lo más básico e importante que deben tener los programadores. base para establecerse y establecer una vida. Cualquiera que llame solitarios a los programadores de alto nivel está diciendo tonterías. El poder de cualquier individuo es limitado. Incluso un genio como Linus necesita formar un equipo fuerte para crear milagros. el espíritu de colaboración entre los maestros. Los Llaneros Solitarios pueden ganar dinero con un pequeño software y una pequeña fortuna, pero una vez que ingresan a los equipos de I + D de algunos sistemas grandes y entran en tareas de comercialización y desarrollo de productos, las personas que carecen de esta cualidad quedan completamente descalificadas.
2: Hábitos de documentación
Cualquiera que diga que los programadores de alto nivel nunca escriben documentos es definitivamente un niño ingenuo. La buena documentación es un vínculo muy importante en el proceso formal de investigación y desarrollo. Como programador de código, es normal dedicar el 30% de su tiempo de trabajo a escribir documentación técnica, pero como programador senior y analista de sistemas, esta proporción es mucho mayor.
Sin documentación, un sistema de software carece de vitalidad y encontrará grandes problemas en futuras soluciones de problemas, actualizaciones y reutilización de módulos.
3: Hábitos de escritura de código estandarizados y estandarizados
Según las reglas de algunas empresas de software extranjeras conocidas, la denominación variable del código, el formato de comentarios dentro del código e incluso la longitud de la sangría de las líneas anidadas Existen regulaciones claras sobre el número de líneas en blanco entre funciones y funciones. Los buenos hábitos de escritura no solo ayudan con el trasplante de código y la corrección de errores, sino que también facilitan la colaboración entre diferentes personal técnicos.
Algunos fanáticos de la codificación claman que otras personas nunca podrán entender el código escrito por programadores de alto nivel. Este clamor solo demuestra que ellos mismos no son dignos de llamarse programadores. El código tiene buena legibilidad, lo cual es un requisito de calidad básico para los programadores.
Observando toda la construcción de Linux, sin hábitos de codificación estandarizados y estandarizados, la colaboración global en I+D es absolutamente inimaginable.
4: Capacidad de comprensión de requisitos
Los programadores necesitan comprender los requisitos de un módulo. Muchos niños tienden a centrarse solo en un requisito funcional cuando escriben programas. hardware, sistema operativo y entorno de desarrollo, ignorando las consideraciones de rendimiento del propio código. Alguien dijo una vez que escribir un programa de intercambio publicitario es muy simple, en el caso de millones o incluso decenas de personas, nunca saben cómo lograr indicadores de rendimiento. Millones de accesos. Para un programador así, si le proporciona el sistema de Deep Blue, no podrá lograr las capacidades de acceso paralelo de Tai Chi Chain. Entre los indicadores de requisitos de rendimiento, la estabilidad, las capacidades de soporte de acceso y la seguridad son importantes. Como programador, debe evaluar el entorno en el que operará el módulo en el sistema, la presión de carga a la que estará sujeto y diversos potenciales. peligros y posibilidades de ataques maliciosos. En este sentido, un programador maduro necesita al menos 2 o 3 años de experiencia en desarrollo y seguimiento de proyectos para poder adquirir experiencia.
5: Reutilizabilidad, capacidad de pensamiento modular
A menudo se escucha que algunos programadores tienen este tipo de quejas. Después de escribir programas durante varios años, se han convertido en trabajadores calificados y trabajan duro todos los días. Es escribir código repetidamente sin ninguna idea nueva. Este es en realidad el mayor desperdicio de talentos de software chinos. Algunas tareas repetitivas se han convertido en el trabajo principal de los programadores expertos y, en realidad, son completamente evitables.
El diseño de reutilización y el pensamiento modular requieren que los programadores piensen más al completar cualquier módulo funcional o función. No se limiten a ideas simples para completar la tarea actual. Piensen en si el módulo puede existir sin este sistema. y si se puede hacer referencia a él directamente en otros sistemas y entornos de aplicaciones simplemente modificando los parámetros. Esto puede evitar en gran medida el trabajo de desarrollo repetitivo. Si una unidad de I+D de software y un grupo de trabajo pueden Si estos problemas se toman en consideración durante un proceso de investigación y desarrollo, los programadores. No perderá demasiado tiempo en trabajos repetitivos y tendrá más tiempo y energía para invertir en trabajos de código innovadores.
Algunos buenos códigos de módulos de programas, incluso si fueron escritos en la década de 1970, pueden ser muy adecuados ahora como módulos funcionales en algunos sistemas, pero lo que veo ahora es que muchas pequeñas empresas Tan pronto como el software es. Cuando se actualiza o mejora, a menudo se reescribe todo el código y la mayor parte del trabajo repetitivo es una pérdida de tiempo y energía.
Entre las cualidades que deben poseer los programadores
6: Hábitos de prueba
Para algunos desarrollos comerciales y formalizados, los ingenieros de pruebas a tiempo completo son indispensables, pero. No significa que los ingenieros y programadores de pruebas a tiempo completo no puedan realizar autopruebas como proyecto y desarrollo de software. Una característica muy importante es que cuanto antes se descubra el problema, menor será el costo de resolverlo; el programa Al probar cuidadosamente cada fragmento de código y cada submódulo una vez finalizado, los ingenieros pueden descubrir y resolver problemas potenciales lo antes posible, maximizando así la eficiencia y confiabilidad de la construcción general del sistema.
El trabajo de prueba en realidad necesita considerar dos aspectos. Por un lado, es la prueba de llamadas normales, es decir, ver si el programa puede completar funciones básicas en llamadas normales. Desafortunadamente, en muchas empresas esta es la única tarea de prueba, pero en realidad está lejos de serlo. El segundo aspecto es la prueba de llamadas anormales, como pruebas de estabilidad bajo cargas de alta presión, pruebas bajo posibles entradas anormales del usuario. y fallas parciales del sistema general Pruebe el impacto del módulo, pruebe la estabilidad del módulo cuando solicitudes anormales frecuentes bloquean recursos, etc. Por supuesto, los programadores no necesitan realizar pruebas tan completas en cada parte de su código, pero los programadores deben comprender claramente el estado de sus tareas de código en el proyecto general y los diversos requisitos de rendimiento, llevar a cabo pruebas relevantes de manera específica e identificar y Resolver problemas lo antes posible requiere las habilidades de comprensión de los requisitos mencionados anteriormente.
7: La capacidad de aprender y resumir
Los programadores son una profesión donde los talentos pueden eliminarse fácilmente y quedarse atrás, porque una tecnología puede ser líder solo en tres o dos años. Los programadores quieren ganarse la vida, deben mantenerse al día constantemente con las nuevas tecnologías y aprender nuevas habilidades.
Ser bueno aprendiendo es una motivación necesaria para progresar en cualquier profesión. Para los programadores, este requisito es aún mayor.
Pero también es necesario encontrar el objetivo adecuado para aprender. Algunos pequeños fanáticos de la codificación también hablan de su capacidad de aprendizaje. Aprendieron asp, php y jsp como una forma de lucirse, y el personal técnico lo hizo a ciegas. persiga cosas y sustantivos superficiales, no comprenda los protocolos de transmisión de comunicaciones al crear programas de red y no comprenda el procesamiento de vectores de interrupción al crear aplicaciones, no importa cuántos de los llamados nuevos lenguajes domine, nunca habrá una mejora cualitativa. .
Ser bueno resumiendo también es una manifestación de la capacidad de aprendizaje. Cada vez que completa una tarea de investigación y desarrollo o un fragmento de código, debe realizar un seguimiento intencionado del estado de la solicitud y del uso del programa.