Release Notes du CAH

De BlueWiki

documentation du CAH

Sommaire

Release notes du composant "Code Analysis Helper"

Version 2.0 de fin janvier en cours de développement

ATTENTION CETTE VERSION NÉCESSITE 4D V16

Mise en ligne de la documentation du CAH

Interface

  1. Création de la palette
  2. Analyse des attributs utilisés dans les objets dans le fichier de données

Outils :

  1. Possibilité d'ajouter dans votre base des méthodes générant par programmation les barres de menus équivalentes à celle que vous avez créé en dur dans votre base..
  2. Ajout dans la liste des commandes la version dans la quelle la commande est devenu obsolète ainsi que la date.

Nouveau contrôles :

.

Version 1.5.0 du 24 janvier 2019

CETTE VERSION EST LA DERNIÈRE EN 4D V15


Interface

  1. Réorganisation de l'interface pour un meilleur accès aux différentes fonctions.

Outils :

  1. Génération de la liste des attributs utilisés dans les objets et détection d'anomalie
  2. Fonction de beautification du code
  3. Installation et retrait des méthodes de contrôle de verrouillage des enregistrements
  4. Comptage des commandes d'enregistrement et répartition par table
  5. ajout d'un écran de comptage et d'affichage des fonctions utilisées comme des commandes (accès par l'écran "Commands"), les fonctions suivies sont pour le moment :
    1. Créer fenêtre
    2. Créer fenêtre formulaire
    3. Imprimer ligne
    4. Nous ajouterons d'autres fonctions dans les versions à venir.

Fonctions :

  1. Gestion des feuilles de styles
    1. Liste des feuilles de styles et de leurs utilisations
    2. Détection des objets sans feuilles de style

Améliorations

  1. Ajout de la fonction "Fixer recherche et verrouillage" dans les commandes a suivre
  2. Ajout de la fonction "Fixer recherche et verrouillage" dans les commandes ouvrantes fermantes
  3. Dans les pattern : détection des "charger enregistrement" inutiles après un tri
  4. Détections des liens entrants sur les clefs primaires pour en mesurer l'utilisation (écran structure)
  5. Modification du code pour aller a une ligne dans le code pour visualiser les erreurs plus facilement

Corrections

  1. Correction des détections de la commande appeler 4D
  2. Les fonction d'export et de rechargement d'une analyse traitent bien l'intégralité des données
  3. Correction de beaucoup de petits bugs...
  4. Correction d'un bug lors de l'impression d'une liste.
  5. Correction de l'import et de l'export des analyses.

.

Version 1.3.0.1 (Hot fix) du 20 décembre 2017

  1. Déclaration d'une variable dans la méthode ANACAH_GetInfoMenu
  2. Correction de la détection du fichier de symbole

.

Version 1.3.0 du 19 décembre 2017

Fonctions :

  1. Affichage dans les metrics de la tailles des variables process et interprocess de la base
  2. Détection des méthodes n'utilisant que des commandes thread safe
  3. Détection des appels de méthodes via les menus créés par la boite à outils
  4. Début d'analyse du fichier des symboles et du fichier de build
  5. Formatage des commentaires ajoutés par le CAH (dans les préférences)
  6. Ajout de graphes dans 'Sort & Query'
    1. Ajout de graphe de répartition des recherches
    2. Ajout de graphe de répartition des tris
  7. Ajout de nombreuses préférences
  8. ajout de la commande 'créer fenêtre' dans les commandes à surveiller
  9. ajout d'un écran de comptage et d'affichage des utilisations de sémaphores (accès par l'écran "Commands")

. Pattern

  1. Détection des sémaphores non temporisés

. Commands to check

  1. Détection des appels à "créer fenêtre" qui devraient être remplacés "Créer fenêtre formulaire"
  2. Ajout du contrôle de l'utilisation de l'attribut d'objet 'length' qui entrera en conflit avec l'argument virtuel de même nom http://doc.4d.com/4Dv16R4/4D/16-R4/VALEURS-DISTINCTES-ATTRIBUT.301-3317238.fr.html#2998555

. Outils :

  1. Ajout d'un outil pour analyser et migrer les menus
  2. Ajout d'un outil pour analyser les pop up menu
  3. Ajout d'un outil pour aider aux migrations de write vers Write Pro
    1. première fonction : le comptage pour connaitre le nombre d'appels aux commandes 4D write et le nombre de formulaires et de méthodes concernés
  4. Ajout d'un outil de détection des erreurs de formatage des directives de compilation qui ne sont plus tolérées et ajout d'un bouton de correction.

. Améliorations :

  1. Sécurisation de la recherche dans le code (erreur de lecture de la liste des objets par 4D)
  2. Sécurisation de la recherche par regex dans le code (Regex invalide, erreur de lecture de la liste des objets par 4D)

. Bugs

  1. Correction de l’ascenseur de progression d'analyse
  2. Correction de l'affichage des formulaires dans l'onglet 'Methods' dans l'écran 'Dependancies'
  3. Correction du comptage d'appel des méthodes qui ne tenait pas compte des appels multiples au seins d'une même méthode
  4. Correction de la sauvegarde et du chargement des analyses qui "oubliaient" des données

.

Version 1.2.4 du non publiée

.

Version 1.2.3 du 15 novembre 2017

Bugs

  1. Problème de détection des images de la bibliothèque dans les boutons image
  2. Problème d'affiche de HTML lors de la mise en couleur de certaines chaines (Il doit en rester encore, merci de nous les signaler)
  3. Problèmes de détection des formulaires non utilisés
  4. Problèmes de détection des formulaires non existants
  5. Suppression de faux positifs liés a des commentaires
  6. Nombreuses correction sur la lecture des constantes, en particulier sur Mac. Ces erreurs de lecture provoquaient des bugs collatéraux.

Fonctions

  1. Capsule de recherche dans les commandes
  2. Capsule de recherche dans les méthodes
  3. Ajout d'un sélecteur dans les format de chaîne pour ne voir que les formats à corriger
  4. affichage du nombre d'utilisation des formulaires

.

Version 1.2.2 du 3 novembre 2017

Debug

  1. Correction de bugs d'interface sur les bases avec des tables effacées
  2. Suppression de faux positifs sur les commandes LECTURE ECRITURE - LECTURE SEULEMENT
  3. Suppression de faux positifs sur le pattern sur les LIBÉRER ENREGISTREMENT inutiles
  4. Suppression de faux positifs sur le pattern sur les SÉLECTION VERS TABLEAU sur plusieurs lignes
  5. Erreur de 4D dans l'onglet des ressources lors de la lecture des métadonnées non trouvées
  6. Ajout dans le comptage d'utilisation des ressources de l'utilisation des images dans les boutons

.

Version 1.2.1 du 1 novembre 2017

Debug

  1. Correction de la disparition de nombreux ascenseurs dans les listes
  2. Suppression de faux positifs (cde 'remplacer chaîne')
  3. Les méthodes bases étaient analysées 2 fois : ce n'est plus le cas
  4. Plus un ou deux petits trucs

. Relookage du composant

. Fonctions

  1. Possibilité de filtrer les recherches pour ne voir que celles portant sur des champs non indexés et/ou celles ne portant que sur un champs
  2. Surlignage en rouge des "anciens formats" de la commande chaîne dans la liste des formats de chaînes
  3. Détection d’ouvrantes-fermantes
    1. Correction d’ouvrantes-fermantes qui ne fonctionnaient plus
    2. Mise en place des commentaires d'inactivations
    3. WR Hors ecran - WR DETRUIRE HORS ECRAN
  4. Détection du nombre d'utilisation d'un formulaire et donc également des formulaires non utilisés
  5. Détection des formulaires utilisés mais qui n'existent pas
  6. Ajout de graphes sur les dates de modifications de méthodes afin de savoir sur quoi on à travaillé ces dernières années.
  7. Ajout de graphe sur la répartition du code par Type de méthodes

.

Version 1.2 du 25 octobre 2017

Dans cette version nous avons réalisé un gros travail sur la structure du code afin de pouvoir encore accélérer l'analyse et de pouvoir vous proposer de nouvelles fonctions sans détériorer les performance du composant. En effet nous ajoutons des fonctions à un rythme soutenu et plus de détections implique plus de traitements et donc un ralentissement global de l'analyse. Vous devriez constater une forte amélioration pour les analyses qui duraient plus de 10 mn

. Debug

  1. Correction de divers bugs
  2. Suppression de certains faux positifs

Fonctions

  1. Détection des paramètres de la commande "chaîne" et de l'utilisation des formats dans les formulaires et affichage dans l'onglet commands
  2. Détection des énumération et de leurs usages et affichage dans l'onglet commands
  3. Export et import d'une analyse
  4. Ajout des nombres d’occurrences dans les listes de pattern et d'ouvrantes/fermantes

Optimisations

  1. Amélioration des temps d'analyse
  2. Amélioration de l’algorithme d'analyse (nombreuses retombées et suppression de faux positif dans les versions à venir)
  3. Optimisation du code de détection des "Commands to check"
  4. Activation des commentaires d'inactivation sur toutes les "Commands to check"
  5. Modification de l'affichage de la progression de l'analyse
  6. Passage de l'analyse dans un process indépendant en vue du passage aux workers
  7. Optimisation du code : zéro variables process

.

Version 1.1.2 du 17 octobre 2017

Correction de bug

  1. Correction de divers bugs
    1. Détection des Evénements sur la forme en elle même ne détectait pas les bons
    2. Détection de fermant suivi de commentaires
    3. Erreur sur clic d'une image statique

. Suppression de certains faux positifs

  1. Fixer destination de recherche
  2. SMTP New/Clear
  3. Position
  4. Remplacer chaine

Fonctions

  1. Détection des ensembles de Listbox

.

Version 1.1.1 du 16 octobre 2017

Correction de bug

  1. Correction de divers bugs

. Fonctions

  1. Détections des ressources appelées dans le code
  2. Récupération des images statiques et possibilité de les enregistrer
  3. Visualisation de ressource de type text
  4. Ajout du nombre d'image de la bibliothèque

. Commandes à vérifier

  1. Correction de la détection des Majusc , Minusc et remplacer chaine sans *

. Commandes ouvrantes fermantes

  1. ré-écriture du code de détection de
    1. Fixer destination Recherche
    2. Fixer limite Recherche
    3. EMPILER / DEPILER
    4. SMTP_New /Clear

.

Version 1.1.0 du 15 octobre 2017

Correction de bug

  1. Les commentaires sur une ligne fermant un ouvrante/fermante empêchaient une détection correcte de la fermante
  2. La détection des 'si(faux)' dans un code en anglais pouvait provoquer un bug en raison d'un texte resté en dur en français
  3. Suppression de faux positifs
  4. Contournement d'un problème général avec le composant dans un 4D 32 bits du a problème gestion des parenthèses par 4D en 32bits compilé
  5. Amélioration de l'analyse des recherches pour l'analyse de l'utilisation des index

. Fonctions

  1. Analyse des ressources utilisées ou doublonnées
  2. Surlignage en rouge des liens récursifs
  3. Détection des méthode appelées via
    1. 'APPELER SUR ERREUR'
    2. 'EXÉCUTER SUR CLIENT'
    3. 'EXÉCUTER MÉTHODE'
    4. 'EXÉCUTER MÉTHODE DANS SOUS FORMULAIRE'
    5. 'FIXER METHODE LIGNE MENU'
  4. Détection des images statiques dans les formulaires

. Pattern

  1. Détection de 'Charger enregistrement' inutiles
  2. 'TOUT SÉLECTIONNER' suivi de 'SUPPRIMER SÉLECTION' à remplacer par un 'VIDER TABLE'

Divers

  1. Mise en place d'un code défensif pour les formulaires comportant des objets sans nom.

.

Version 1.0.10 du 06/10/2017

Nouvelles fonctions :

  1. Possibilité de visualiser les commandes inutilisées

Détection des patterns :

  1. LIBÉRER ENREGISTREMENT suivi de RÉDUIRE SÉLECTION(0)

Détection d'ouvrante fermante

  1. Correction : Certaines ouvrantes/fermantes n'étaient plus détectées
  2. Détection de "ajouter a document" non suivi de "FERMER DOCUMENT"
  3. Détection de "DOM Analyser source XML" non suivi de "DOM FERMER XML"
  4. Détection de "DOM Analyser variable XML" non suivi de "DOM FERMER XML"

Commands to check

  1. Détection de "AJOUTER ENREGISTREMENT"
  2. Détection de "MODIFIER ENREGISTREMENT"
  3. Détection de "AFFICHER ENREGISTREMENT"
  4. Détection de "AJOUTER ENREGISTREMENT"# Détection de "VISUALISER SÉLECTION"
  5. Détection de "MODIFIER SÉLECTION"
  6. Détection de minusc non suivi de *
  7. Détection de majusc non suivi de *
  8. Détection de l'utilisation de "LISTE VERS TABLEAU"
  9. Détection de l'utilisation de "TABLEAU VERS LISTE"

.

Version 1.0.9 du 26/09/2017

  1. Correction de faux positifs
  2. Détection du 'lecture seulement(*)' pour la fermeture des ouvrantes fermantes
  3. Amélioration de la détection des méthodes récursives
  4. création de la première version de la fonction 'Beautify'
  5. mise en place de la recherche des méthodes par regex
  6. Détection et comptage des 'Caractère(xx)' dans l'onglet 'Commands' choisir l'écran 'count'
  7. Détection des tris sur des champs non indexés dans l'analyse des tris
  8. Correction d'un message d'erreur qui indique qu'on utilise pas la bonne version de 4D alors qu'en fait on a pas autorisé l’exécution de la méthode "sur événement base hôte" dans l'onglet sécurité de la base à analyser.

.

Version 1.0.8 du 16/09/2017

  1. Amélioration de la détection des tris séquentiels
  2. Détections des patterns suivants liés a LIBÉRER ENREGISTREMENT :
    1. LIBÉRER ENREGISTREMENT suivi de TRIER
    2. LIBÉRER ENREGISTREMENT suivi de ENREGISTREMENT PRÉCÉDENT
    3. LIBÉRER ENREGISTREMENT suivi de ENREGISTREMENT SUIVANT
    4. LIBÉRER ENREGISTREMENT suivi de ALLER À DERNIER ENREGISTREMENT
    5. LIBÉRER ENREGISTREMENT suivi de CHERCHER PAR ATTRIBUT
    6. LIBÉRER ENREGISTREMENT suivi de CHERCHER PAR EXEMPLE
    7. LIBÉRER ENREGISTREMENT suivi de CHERCHER PAR SQL
    8. LIBÉRER ENREGISTREMENT suivi de CHERCHER PAR TABLEAU
    9. LIBÉRER ENREGISTREMENT suivi de CHERCHER PAR TABLEAU DANS SÉLECTION
  3. Détections du pattern : TRIER suivi de VALEURS DISTINCTES

.

Version 1.0.7 du 15/09/2017

  1. Détection des tris séquentiels
  2. Corrections de bugs d'interface
  3. Correction d'un bug sur la commande date du jour quand il y en a plusieurs sur une ligne
  4. Correction d'un bug sur les lignes scindées

.

Version 1.0.6 du 11/09/2017

  1. Détection de la commande "position" sans utilisation de "*"
  2. Détection de la commande "remplacer chaine" sans utilisation de "*"
  3. Typage complet des variables des méthodes ajoutées dans la base hôte
  4. Ajout d'une recherche des méthodes comportant certaines chaines
  5. Ajout d'une recherche des méthodes par regex
  6. Création d'un nouvelle méthode dans vos bases permettant la récupération des cycles d’exécution d'un objet dans la base hôte

.

Version 1.0.4 du 07/09/2017

  1. Mise en place de la synthèse des patterns
  2. Corrections mineures

.

Version 1.0.0 du 01/09/2017

La première version complète mais on a encore + de 100 idées d'améliorations

.

Version 0.9.5 du 30/07/2017

  1. réduction très importante de la durée d'analyse
  2. ajout dans les metrics de la durée de l'analyse
  3. Ajout d'une fonction de copier dans les listes permettant de copier au choix :
    1. la liste entière
    2. les lignes sélectionnées
  4. Correction de bugs sur les analyses en anglais
  5. Correction des insertions des méthodes d'analyse en anglais
  6. Suppression de message en cours d'analyse et ajout d'un écran récapitulatif en fin d'analyse

.

Version 0.7.2

  1. Modification pour améliorer la "résistance" aux sous-tables
  2. Correction d'un bug dans le remplacement de certains "tableau alpha"
  3. Bug sur clic dans la liste des commandes sur une ligne vide provoque une erreur
  4. Correction du déplacement du bouton d'action dans la gestion des images
  5. Correction d'un bug lors des remplacements des "inactiver bouton" qui remplaçait par un objet fixer activation a vrai au lieu de le mettre a faux
  6. Les ensembles définit via les pointeurs ne sont plus considérés comme erreur
  7. Ajout de la commande "Modifie" dans les commandes obsolètes

.

Version 0.7.1

  1. Bug fix
    1. Problème d'affichage après des tris dans différents écrans
    2. Problème avec des composant ayant des méthodes qui ne font parties d'aucun thème
  2. Ajout d'un pattern sélection vers tableau après un trier
  3. Gestion des lignes inactivées avec un si (faux)
  4. Suppression de la fonction des recherches de textes qui sera développée pour la première release (1.1 prévue en août 2017)