sdx-developers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[sdx-developers] Code design


From: Pierrick Brihaye
Subject: [sdx-developers] Code design
Date: Thu, 07 Nov 2002 12:02:10 +0100
User-agent: Mozilla/5.0 (Windows; U; Win98; fr-FR; rv:1.0.1) Gecko/20020823 Netscape/7.0

Salut,

Je viens de jeter un oeil rapide aux derniers commits en surveillant plus particulièrement, la classe LuceneDocumentBase.

1) On a pas mal de truc genre :

if(myClass.myMethod()) != null)
  DoSomethingWith(myClass.myMethod());

Il y a là une sacrée perte de performance car on fait deux appels alors qu'un seul suffirait :

myClass tmpObjet = myClass.myMethod();
if(tmpObjet) != null)
  DoSomethingWith(tmpObjet);

pour les tests sur myClass.myMethod() == null, c'est moins grave car, en général, les retours sur null se font assez vite.

Mais bon, je ne vous apprends rien...

2) Dans :

public void configure(Configuration configuration) throws ConfigurationException {
        //verifying the object
        Utilities.checkConfiguration(configuration);
        //retaning the documentbase configuration
        this.configuration = configuration;

J'ai du mal à comprendre pourquoi on stocke la configuration dès le début de la méthode alors qu'elle n'est pas encore exploitée. Est-ce que checkConfiguration *garantit* que l'objet passé est *complètement* valide ?

3) Dans la nouvelle classe DefaultIDGenerator, voire dans l'interface, ne doit-on pas synchroniser ?

J'ignore si ces préoccupations sont dans vos TODO. Si elles le sont, ignorez ce message...

Sinon :

J'ai vu les récents commits Lucene. Apparemment, vos changements dans Document (qui sont tout à fait légitimes IMHO) n'ont pas été pris en compte. Quand je disais que ces gens n'avaient pas le commit facile :-)

J'ai aussi vu l'utilisation des res pour les analyseurs (entre autres). Très astucieux !

A+

--
Pierrick Brihaye, informaticien
Service régional de l'Inventaire
DRAC Bretagne
mailto:address@hidden





reply via email to

[Prev in Thread] Current Thread [Next in Thread]