Red de conocimiento informático - Material del sitio web - ¿Cuál es su experiencia laboral en el desarrollo de QQ IM en Tencent?

¿Cuál es su experiencia laboral en el desarrollo de QQ IM en Tencent?

Autor: Gao Changjian

Enlace:/question/20672463/answer/15809516

Fuente: Zhihu

Los derechos de autor pertenecen al autor original: Zhihu

Los derechos de autor pertenecen al autor. Para reimpresiones comerciales, comuníquese con el autor para obtener autorización. Para reimpresiones no comerciales, indique la fuente.

He estado trabajando en el desarrollo de clientes en el departamento de PC QQ (en adelante, QQ) durante un tiempo, así que permítanme hablarles sobre algunas de mis experiencias. Cada desarrollador tiene dos computadoras de escritorio Lenovo, con Win 7 preinstalado y un montón de software de monitoreo de intranet, ya sabes. La configuración está bien, pero desarrollar QQ a veces es un poco difícil. Una red de desarrollo de acceso sólo se puede utilizar para desarrollar y acceder a la intranet de la empresa. El otro está conectado a la red de la oficina y puede acceder a Internet, pero Tencent tiene una lista blanca interna y los clientes que no son Tencent deben configurar un proxy en Internet, por lo que a veces resulta embarazoso si un determinado software lo hace. Si no es compatible con el proxy, quedará estupefacto. Una vez intenté enviar el código a GitHub pero fallé. Hay Wi-Fi gratuito en casi todas partes del edificio de la sede, por lo que si traes tu propia computadora, aún podrás disfrutar de Internet. Visual Studio 2005 es el entorno de desarrollo que estoy acostumbrado a usar Vim, por lo que siempre uso Vim para escribir código y luego uso VS para compilar y ejecutar el programa. Se recomienda encarecidamente instalar "Little Tomato"[1]. Sabrás si tienes que pagar por ello o no. El control de versiones es ClearCase (una deficiencia importante del programa. En lo sucesivo, CC). CC es definitivamente el software más increíble e invencible que jamás haya visto. El archivo de instalación es enorme y se bloquea al usarlo. QQ tiene requisitos internos estrictos para el uso de sistemas de control de versiones. Cuando necesite desarrollar un nuevo requisito, debe enviar un correo electrónico al administrador de CC (¡hay un administrador independiente!) y pedirle que le asigne el sistema. Cuando necesite desarrollar un nuevo requisito, primero debe enviar un correo electrónico al administrador de CC (¡en realidad hay un administrador separado!) y pedirle que cree un subflujo para usted (equivalente a establecer una sucursal, que en realidad requiere Aplicar. Luego , puede enviar la nueva transmisión desde el servidor CC al administrador de CC y luego extraer la nueva subtransmisión del servidor CC al local. Tenga en cuenta que, aunque esto es solo una rama, debe descargar el código QQ completo nuevamente, dependiendo. A la velocidad de Internet, normalmente puedes ir a tomar una copa y contemplar el paisaje, lo que dura entre 30 minutos y unas pocas horas. Luego, finalmente comienzas tu vida de desarrollo "feliz", y lo encontrarás cada vez que lo hagas. Si desea modificar un archivo, primero debe verificarlo (tenga en cuenta que esto no tiene nada que ver con el proceso de pago de Git). Después de verificarlo, solo usted puede modificar el archivo si alguien se encuentra en el mismo subflujo que usted. deben esperar hasta que usted Las modificaciones solo se pueden realizar después de realizar el check-out. Por supuesto, si no puede esperar a que otros se registren, primero puede secuestrar el archivo y luego fusionarlo con las modificaciones de otras personas. Después de escribir el código, compílelo. a QQ para ver el efecto, lo cual requiere mucho tiempo (y cada vez que extraes una nueva subcorriente, tienes que pasar por ella una vez), así que puedes ir a tomar un trago de agua y mirar. En el escenario, el tiempo depende del rendimiento de la máquina, generalmente entre 1 hora y varias horas. Y durante el proceso de compilación, la máquina está básicamente muerta y no se puede usar en absoluto, por lo que generalmente hago este tipo de cosas antes. Comer o volver a casa después del trabajo. No hay revisión del código una vez completado el desarrollo, y también es muy problemático verificar las modificaciones a través de CC. Necesitamos crear un paquete de instalación para los probadores, lo que generalmente demora unos 20 minutos. compilar El registro más rápido parece ser de 8 minutos. El estudiante responsable de optimizar el rendimiento ganó un premio durante la prueba. El sistema interno TAPD se utiliza para el seguimiento de errores. Cada error se divide en tres niveles: alto, medio y bajo. El control de calidad aquí en QQ tiene requisitos de calidad muy estrictos y debe pasar pruebas funcionales y de rendimiento. Por lo general, los niveles alto y medio son 0 (comúnmente conocidos como 0 errores combinados en uno), se permite una pequeña cantidad de errores de bajo nivel. Y después de pruebas rigurosas, pueden integrarse en la corriente principal y completarse utilizando la función de entrega de CC.

Pero es mejor restablecer primero la versión principal (equivalente a fusionar la versión principal, que no tiene nada que ver con Git) y asegurarse de que no haya problemas antes de entregarla. Ahora que el desarrollo está completo, el siguiente paso es esperar el lanzamiento. El marco proporciona desacoplamiento de código, bibliotecas públicas, mecanismos de complementos, internacionalización y otras funciones. El motor de máscara desarrollado de forma independiente tiene el nombre en código GF (GUI Foundation) y se utiliza para lograr varios efectos de interfaz. Los desarrolladores de QQ deben dominar estas dos áreas. Se han desarrollado un montón de pequeñas herramientas en torno a estas dos áreas. Las más utilizadas son LogViewer, que se utiliza para ver archivos de registro, y herramientas de rendimiento, que se utilizan para analizar el rendimiento del código. . Dado que el código subyacente y el código de la aplicación están separados, a veces encontrará situaciones en las que parte del código no se puede ver durante la depuración.