Accueil Blog (en) Annonce d’Acumatica Acuminator 3.1.0

Annonce d’Acumatica Acuminator 3.1.0

Notre dernière version comprend de nouveaux extraits de code Acumatica pour Microsoft Visual Studio et de nombreuses améliorations et corrections de bogues dans l’analyse de code statique.
Sergueï Nikomarov | Le 8 décembre 2022

Acumuninator 3.1.0

Nous sommes heureux d’annoncer Acuminator version 3.1.0 a été libéré!

Vous pouvez télécharger la nouvelle version dans Visual Studio Marketplace. Si vous avez déjà installé la version bêta d’Acuminator 3.1.0, il est préférable de la supprimer avant d’installer la nouvelle version.

Extraits de code

Acuminator fournit désormais des extraits de code pour les DAC, les champs DAC et les événements graphiques. Un développeur peut utiliser ces extraits de code pour accélérer l’écriture de nouveau code et éviter les erreurs courantes. Vous pouvez commencer à utiliser des extraits de code en tapant « DAC » ou « _ » et en sélectionnant l’extrait approprié dans la liste d’achèvement du code IntelliSense , comme indiqué dans la capture d’écran suivante.

Annonce d’Acumatica Acuminator 3.1.0
Lorsque vous sélectionnez un raccourci dans le IntelliSense suggestions et appuyez sur Tab, le système insère l’extrait de code, comme indiqué dans la capture d’écran suivante.

Annonce d’Acumatica Acuminator 3.1.0

Pour plus de détails sur l’installation et l’utilisation des extraits de code, consultez le référentiel Acumatica CodeSnippets sur GitHub.

Nouveaux diagnostics

Dans Acuminator 3.1.0, les améliorations suivantes ont été mises en œuvre :

  • Le diagnostic PX1062 a été ajouté pour s’assurer que les graphiques et les extensions de graphique ne contiennent pas d’actions statiques, de vues ou d’autres champs et propriétés statiques mutables.
  • Les nouveaux diagnostics suivants ont été ajoutés pour prévenir les erreurs liées à la sérialisation et à la désérialisation des exceptions :
    • Le diagnostic PX1063 garantit que les classes d’exceptions sont dérivées de System.Exception déclare toujours un constructeur de sérialisation.
    • Le diagnostic PX1064 garantit que les classes d’exception sont dérivées de System.Exception qui déclare de nouvelles données sérialisables, ce qui remplace toujours la méthode GetObjectData .
  • Le diagnostic PX1056 a été ajouté pour vérifier si un graphique est créé dans la méthode IsActive ou IsActiveForGraph dans une extension de graphique ou une extension DAC, et vous avertir si c’est le cas.

Améliorations apportées à l’analyse du code

Les diagnostics existants PX1008 et PX1072 ont été considérablement étendus et améliorés.

Améliorations du diagnostic PX1008

Le diagnostic PX1008 a été complètement retravaillé. Maintenant, ce diagnostic implémente une analyse de flux de données complexe qui va récursivement dans les méthodes et vérifie comment les données sont transférées vers eux. Les améliorations suivantes ont été mises en œuvre dans le diagnostic :

  • Vérifie que lorsque des adaptateurs du type PXAdapter sont transmis à un délégué d’action dans un graphique ou une extension de graphique, les adaptateurs ne sont pas capturés dans les fermetures de délégués par des délégués de longue date et de traitement.
  • Améliorations apportées aux messages de diagnostic
  • Vérifie que les vues et les attributs personnalisés capturent des références de graphique et d’adaptateur dans une fermeture d’un délégué à long terme
  • Corrections de bogues : le diagnostic affichait un avertissement lors de la capture d’une référence à cela dans un délégué, même dans une classe qui n’était pas un graphique ou une extension de graphique

Améliorations du diagnostic PX1072

Les correctifs suivants ont été implémentés dans le diagnostic PX1072 :

  • Dans les membres de graphique statiques, le graphique déclarant n’est plus considéré comme disponible pour une utilisation dans les requêtes BQL ou Fluent BQL.
  • Le diagnostic n’affiche plus d’avertissement si un seul graphique local est disponible et utilisé dans une requête BQL ou Fluent BQL.
  • Le diagnostic affiche désormais un avertissement lorsqu’une classe contient plusieurs requêtes BQL ou Fluent BQL et qu’il n’y a pas de graphiques disponibles, c’est-à-dire des instances graphiques qui existent déjà et peuvent être utilisées par une requête BQL.

Autres améliorations

  • La prise en charge des expressions complexes transmises à l’API SetProcessDelegate a été ajoutée aux diagnostics PX1008 et PX1086 .
  • Les diagnostics PX1057 et PX1084 empêchent désormais la création de graphiques via un appel de constructeur direct, c’est-à-dire le nouvel appel de méthode PXGraph().
  • Les diagnostics de localisation PX1050 et PX1051 affichent désormais moins de fausses alertes et trouvent plus de cas de localisation incorrecte, tels que des chaînes d’interpolation.

Figues d’insectes

Dans la nouvelle version, nous avons corrigé un certain nombre de bogues graves dans le mécanisme de suppression du diagnostic de l’acuminateur qui empêchait les développeurs de supprimer les diagnostics d’Acuminator. Nous avons également corrigé plusieurs bogues dans l’analyse de code statique.

La version contient également d’autres améliorations que vous pouvez trouver les détails dans les notes de mise à jour de l’acuminateur:
https://github.com/Acumatica/Acuminator/blob/dev/docs/ReleaseNotes.md

Bon codage!

 

 

Auteur du blog

Sergey a rejoint Acumatica en 2017 et a commencé en tant que développeur d’applications dans l’équipe OEM, où il a fait beaucoup de développement Acumatica Framework - en plus de faire plusieurs personnalisations. Un exemple est une grande personnalisation pour le contrôle budgétaire automatisé pour Censof, un partenaire OEM. En 2019, il a rejoint l’équipe de développement de la plate-forme en tant que développeur de systèmes. Et plus récemment, Sergey est responsable de l’acuminator et de notre développement et maintenance RVT. Participant à un certain nombre de hackathons internes d’Acumatica, Sergey faisait partie de l’équipe gagnante - avec Vladimir Panchenko - qui a créé Acuminator. Lors d’un hackathon ultérieur, son équipe l’a étendu davantage en développant la carte de code avec d’autres améliorations à Acuminator.

Recevez des mises à jour de blog dans votre boîte de réception.