Je passe une période très difficile parce que mon collègue semble montrer
- Efforts d'optimisation prématurés / inutiles
- Déduplication prématurée avec des abstractions douteuses
Par exemple, nous utilisons une architecture VIPER modifiée. Il a introduit une classe de base pour le composant Router (en utilisant des génériques) dans le cadre de l'implémentation de la première pile viper sans réellement savoir ce qui sera dupliqué dans les autres routeurs. Maintenant, nous sommes obligés de fournir un typeUseCase
qui contient des cas d'utilisation, mais la plupart des routeurs n'ont pas plusieurs cas d'utilisation, un seul. - Inventer des solutions à usage général pour de futures fonctionnalités potentielles spéculatives
Par exemple, il a écrit un gestionnaire pour remplir des vues de tables de cellules statiques lorsque nous n'avions que deux écrans comme celui-ci dans l'application et il n'était pas conscient que la conception s'éloignerait des formes verticales ennuyeuses pour devenir plus personnalisées. UIs donc le manager est inutile. - Opter pour la complexité accessoire
Comment puis-je lutter contre cela quand il présente également une barrière linguistique avec un anglais moche?
architecture
Earl Grey
la source
la source
Réponses:
Votre description ressemble au codage que j'ai fait dans les années 1990. Jouer correctement pour le monde moderne n'est pas facile. Je recommande de se concentrer sur les facteurs suivants:
De tout ce qui précède, mes deux principaux points d'intérêt seraient les revues de code et les petites histoires.
À la fin de la journée, je pense que la meilleure solution pour changer le comportement existant est d'avoir une personne dédiée qui dirige le changement. Dans les organisations Agiles (probablement la majorité aujourd'hui), il faut une personne dévouée comme le Scrum-Master pour poser constamment les bonnes questions et guider l'approche de développement. Dans ma dernière organisation, nous en avions une douzaine, un dans chaque équipe pour aider les gens à faire face à ce genre de problèmes. Cela élimine la nécessité pour un développeur membre de l'équipe d'essayer de convaincre les autres que «leur chemin est le bon», ce qui peut souvent conduire à des échanges acrimonieux et à du mauvais sang.
la source