Red de conocimiento informático - Conocimiento informático - Si divides a los programadores en lenguaje C en capas, ¿en qué nivel puedes estar?

Si divides a los programadores en lenguaje C en capas, ¿en qué nivel puedes estar?

Si los programadores se dividen en capas, ¿en qué capa pueden estar?

Nivel 0

Dominar la sintaxis básica del lenguaje C y ser capaz de escribir algunos if-else, for loop, switch-case, etc. Simplemente puede usar el IDE en lenguaje C y escribir el código en el libro línea por línea. Hará clic en el botón Ejecutar para ejecutar el programa y generar hola mundo.

Nivel 1

Estar familiarizado con la mayor parte de la sintaxis del lenguaje C, comprender ideas de programación orientada a procesos y a objetos, comprender el uso legal de encapsulación, herencia y polimorfismo. y comprender punteros, punteros de funciones, el uso de funciones de devolución de llamada, manejo de excepciones, operaciones de archivos y STL pueden resolver problemas simples de errores de compilación y enlace. Pero no tengo la capacidad de pensar de forma independiente y ni siquiera sé cómo hacer preguntas. Normalmente programo para Baidu y domino las operaciones Ctrl C y Ctrl V. Siempre que el programa logre los resultados esperados. Estoy satisfecho y puedo simplemente hacer una demostración.

Nivel 2

Competente en la mayor parte de la gramática del lenguaje C y competente en la memorización de la mayoría de las entrevistas en lenguaje C. 7. Comprender las nuevas características de C Language 11, C Language 14, C Language 17 e incluso C Language 20. No hay ningún problema en la entrevista técnica. Suena razonable, pero en la práctica es un desastre. Realice proyectos a nivel de empresa de 0 a 1., centrándose en completar una determinada subfunción, sin la capacidad de diseñar dibujos, puede agregar cambios al marco existente y, a menudo, no considera cuestiones como la legibilidad del código, la escalabilidad y las condiciones de los límites. procesamiento, rendimiento del programa y estándares de codificación.

Nivel 3

Ha leído algunos libros clásicos en lenguaje C, puede usar bibliotecas clásicas como STL y BOOST con soltura, lee algunos códigos fuente de algunas bibliotecas clásicas, comprende los principios básicos y Dominar los patrones de diseño comunes, dominar muchos trucos extraños y astutos de C ++, ser obsesivo con el código, programar de acuerdo con los estándares de codificación y manejar las condiciones límite en detalle, para que el código sea altamente legible. Cuando escribo código, a menudo hago alarde de mis habilidades. El código es tan arrogante que creo que puedo aplastar a la mayoría de las personas. Sin embargo, las habilidades deslumbrantes generalmente conducen a ciclos de desarrollo largos, código inflado y dificultades en el mantenimiento posterior. El público en general generalmente no puede entender el código de habilidades tan deslumbrantes.

Nivel 4

La espada pesada no tiene filo, es ingeniosa pero no artesanal, no es necesario mostrar las habilidades de desarrollo, solo sea simple y razonable y sea capaz de completar el requisitos. Domine los sistemas operativos, los principios de compilación, domine la mayor parte del conocimiento sobre compilación y vinculación, comprenda la historia detrás del compilador, domine el uso de varias herramientas de depuración, varias herramientas de análisis de rendimiento, comprenda la alineación de la memoria y sepa cómo depurar pérdidas de memoria.

Cómo depurar problemas de interbloqueo, tener un conocimiento profundo de la caché de CPU, sistemas de archivos, procesos y subprocesos, TCP/IP, modelos de memoria, etc., y haber participado en el desarrollo de niveles de sistema. proyectos. Tiene una gran capacidad práctica, tiene sus propias ideas después de recibir los requisitos y puede proporcionar rápidamente planes de implementación. Comprenda las ventajas y desventajas de varias soluciones en lenguaje C, los errores comunes y los diversos métodos para evitarlos.

Capa 5

Han diseñado y desarrollado proyectos de alto rendimiento a nivel de sistema de 0 a 1, y han sido utilizados por un número determinado de usuarios. Ya no se centrará en la implementación de un solo punto técnico, comprenderá completamente y utilizará de manera flexible varios patrones de diseño, sino que se centrará más en el diseño de la arquitectura general, es decir, diseñar ese dibujo de ingeniería, brindar una solución general y continuar con el diseño de Una arquitectura más razonable, centrándose en si la división de los módulos troncales es clara, centrándose en la alta cohesión y el bajo acoplamiento, centrándose en la robustez y la escalabilidad flexible del sistema troncal, que puede hacer frente a iteraciones y cambios de requisitos a gran escala.

Nivel 6

Participe en varias conferencias nacionales e internacionales de desarrolladores de lenguaje C, dé varios discursos, comparta su propia experiencia de desarrollo, comparta soluciones de diseño arquitectónico y sea admirado por todos.

Nivel 7

Miembros del Comité de Estándares del Lenguaje C (aunque muchas personas se quejan de su cerebro, es innegable que de hecho son los mejores programadores del lenguaje C).