Emmanuel Lecharny wrote: > Bernd Fondermann wrote: >> To turn this into an actually task, could you point out areas/classes >> that especially lack javadoc? >> > I have conducted a quick review of around one third of the java files > (test excluded). I have tagged all the files I reviewed with : > * J : files without javadoc > * j : files with partial Javadoc > * H : files without a description in the header > * A : missing @author tag > * OK : files with all the needed javadoc, header and @author tag > > Some of them combine mor ethan one of those missing elements. > > I have found only 8 OK files oit of 96 files I checked. Here is the list > (files without one of those tags haven't be checked yet) > > Note that I may have been inaccurate to some extent.
Probably not, thanks for putting this together. I have to admit that this kind of quantitive analysis doesn't tell me much. I'd rather improve the javadoc for a central class than write a new one for a simple interface setter method where the name and parameters speak for themselves. (I started programming when CPUs where slow, RAM was sparse and the significant characters of a variable that were recognized by the compiler were limited to the first 12 or so. Today, we have code completion and no shortage of method or variable name lengths. I try to make heavy use of that.) It's like your total unit test coverage number. It doesn't tell you anything about your test quality. But if you point out critical code that misses a javadoc, unit test or spec compliance annotation or code comment, you'll never find me disagreeing with you. (I reserve the right to ask for a patch, though. ;-) So my question is, where is that code which most deserves being improved in this way? Bernd > > > > J org/apache/vysper/mina/MinaBackedSessionContext.java > JH org/apache/vysper/mina/XmppIoHandlerAdapter.java > J org/apache/vysper/mina/TCPEndpoint.java > J org/apache/vysper/mina/codec/XMLStreamTokenizer.java > J org/apache/vysper/mina/codec/StanzaWriteInfo.java > J org/apache/vysper/mina/codec/XMPPProtocolCodecFactory.java > J org/apache/vysper/mina/codec/StanzaWriterProtocolEncoder.java > org/apache/vysper/xmpp/uuid/UUIDGenerator.java > org/apache/vysper/xmpp/uuid/JVMBuiltinUUIDGenerator.java > org/apache/vysper/xmpp/xmldecoder/UnsupportedXMLException.java > org/apache/vysper/xmpp/xmldecoder/DecodingException.java > org/apache/vysper/xmpp/xmldecoder/XMLParticle.java > org/apache/vysper/xmpp/xmldecoder/XMLRawToFragmentConverter.java > org/apache/vysper/xmpp/xmldecoder/ParticleDecoder.java > JA org/apache/vysper/xmpp/datetime/DateTimeProfile.java > org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java > org/apache/vysper/xmpp/state/resourcebinding/ResourceState.java > org/apache/vysper/xmpp/state/resourcebinding/BindException.java > org/apache/vysper/xmpp/state/presence/LatestPresenceCache.java > org/apache/vysper/xmpp/state/presence/SimplePresenceCache.java > org/apache/vysper/xmpp/state/presence/PresenceCachingException.java > J org/apache/vysper/xmpp/authorization/External.java > OK org/apache/vysper/xmpp/authorization/UserAuthorization.java > J org/apache/vysper/xmpp/authorization/SimpleUserAuthorization.java > JH org/apache/vysper/xmpp/authorization/AccountCreationException.java > H org/apache/vysper/xmpp/authorization/AccountManagement.java > J org/apache/vysper/xmpp/authorization/Anonymous.java > J org/apache/vysper/xmpp/authorization/AuthorizationResponses.java > J org/apache/vysper/xmpp/authorization/Plain.java > OK org/apache/vysper/xmpp/authorization/SASLMechanism.java > JH org/apache/vysper/xmpp/addressing/EntityFormatException.java > A1 org/apache/vysper/xmpp/addressing/stringprep/StringPrepConstants.java > jA1 org/apache/vysper/xmpp/addressing/stringprep/StringPrep.java > JA1H > org/apache/vysper/xmpp/addressing/stringprep/StringPrepViolationException.java > > ja1 org/apache/vysper/xmpp/addressing/stringprep/ResourcePrep.java > ja1 org/apache/vysper/xmpp/addressing/stringprep/NodePrep.java > J org/apache/vysper/xmpp/addressing/Entity.java > J org/apache/vysper/xmpp/addressing/EntityImpl.java > JH org/apache/vysper/xmpp/addressing/EntityConformance.java > J > org/apache/vysper/xmpp/modules/core/im/handler/PresenceAvailabilityHandler.java > > J org/apache/vysper/xmpp/modules/core/im/handler/PresenceHandler.java > J > org/apache/vysper/xmpp/modules/core/im/handler/PresenceSubscriptionHandler.java > > JH > org/apache/vysper/xmpp/modules/core/im/handler/AbstractPresenceSpecializedHandler.java > > J > org/apache/vysper/xmpp/modules/core/base/BaseStreamStanzaDictionary.java > J > org/apache/vysper/xmpp/modules/core/base/handler/DefaultIQHandler.java > h > org/apache/vysper/xmpp/modules/core/base/handler/async/RunnableFuture.java > J > org/apache/vysper/xmpp/modules/core/base/handler/async/ResponseFuture.java > j > org/apache/vysper/xmpp/modules/core/base/handler/async/AbstractAsyncIQGetHandler.java > > J org/apache/vysper/xmpp/modules/core/base/handler/IQHandler.java > JH > org/apache/vysper/xmpp/modules/core/base/handler/StreamStartHandler.java > J > org/apache/vysper/xmpp/modules/core/base/handler/XMPPCoreStanzaHandler.java > J org/apache/vysper/xmpp/modules/core/base/handler/MessageHandler.java > JH > org/apache/vysper/xmpp/modules/core/base/handler/XMLPrologHandler.java > J org/apache/vysper/xmpp/modules/core/bind/handler/BindIQHandler.java > J org/apache/vysper/xmpp/modules/core/bind/BindResourceDictionary.java > J > org/apache/vysper/xmpp/modules/core/sasl/AuthorizationRetriesCounter.java > J org/apache/vysper/xmpp/modules/core/sasl/SASLFailureType.java > J org/apache/vysper/xmpp/modules/core/sasl/SASLStanzaDictionary.java > JH org/apache/vysper/xmpp/modules/core/sasl/handler/AuthHandler.java > JH > org/apache/vysper/xmpp/modules/core/sasl/handler/AbstractSASLHandler.java > JH org/apache/vysper/xmpp/modules/core/sasl/handler/AbortHandler.java > J > org/apache/vysper/xmpp/modules/core/session/SessionStanzaDictionary.java > J > org/apache/vysper/xmpp/modules/core/session/handler/SessionIQHandler.java > J > org/apache/vysper/xmpp/modules/core/compatibility/jabber_iq_auth/JabberIQAuthDictionary.java > > J > org/apache/vysper/xmpp/modules/core/compatibility/jabber_iq_auth/handler/AuthCompatibilityIQHandler.java > > JH > org/apache/vysper/xmpp/modules/core/starttls/handler/StartTLSHandler.java > J > org/apache/vysper/xmpp/modules/core/starttls/StartTLSStanzaDictionary.java > J > org/apache/vysper/xmpp/modules/servicediscovery/ServiceDiscoveryInfoDictionary.java > > J > org/apache/vysper/xmpp/modules/servicediscovery/collection/ServiceDiscoveryRequestListenerRegistry.java > > J > org/apache/vysper/xmpp/modules/servicediscovery/collection/ServiceCollector.java > > J > org/apache/vysper/xmpp/modules/servicediscovery/ServiceDiscoveryItemDictionary.java > > J > org/apache/vysper/xmpp/modules/servicediscovery/management/ServerInfoRequestListener.java > > JH org/apache/vysper/xmpp/modules/servicediscovery/management/Item.java > JH > org/apache/vysper/xmpp/modules/servicediscovery/management/Feature.java > JA > org/apache/vysper/xmpp/modules/servicediscovery/management/InfoDataForm.java > > JH > org/apache/vysper/xmpp/modules/servicediscovery/management/ServiceDiscoveryRequestException.java > > JH > org/apache/vysper/xmpp/modules/servicediscovery/management/InfoElement.java > JH > org/apache/vysper/xmpp/modules/servicediscovery/management/InfoRequest.java > JH > org/apache/vysper/xmpp/modules/servicediscovery/management/Identity.java > J > org/apache/vysper/xmpp/modules/servicediscovery/management/InfoRequestListener.java > > J > org/apache/vysper/xmpp/modules/servicediscovery/management/ItemRequestListener.java > > J > org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoItemIQHandler.java > > J > org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandler.java > > J > org/apache/vysper/xmpp/modules/servicediscovery/ServiceDiscoveryModule.java > org/apache/vysper/xmpp/modules/DefaultModule.java > org/apache/vysper/xmpp/modules/ModuleRegistry.java > org/apache/vysper/xmpp/modules/Module.java > org/apache/vysper/xmpp/modules/DefaultDiscoAwareModule.java > JH > org/apache/vysper/xmpp/modules/roster/persistence/AbstractRosterManager.java > > J > org/apache/vysper/xmpp/modules/roster/persistence/MemoryRosterManager.java > J org/apache/vysper/xmpp/modules/roster/persistence/RosterManager.java > JH org/apache/vysper/xmpp/modules/roster/RosterUtils.java > J org/apache/vysper/xmpp/modules/roster/SubscriptionType.java > J org/apache/vysper/xmpp/modules/roster/Roster.java > JH org/apache/vysper/xmpp/modules/roster/RosterGroup.java > JH org/apache/vysper/xmpp/modules/roster/RosterStanzaUtils.java > JH org/apache/vysper/xmpp/modules/roster/RosterBadRequestException.java > JH org/apache/vysper/xmpp/modules/roster/RosterException.java > J org/apache/vysper/xmpp/modules/roster/RosterModule.java > JH org/apache/vysper/xmpp/modules/roster/MutableRoster.java > J org/apache/vysper/xmpp/modules/roster/handler/RosterIQHandler.java > J org/apache/vysper/xmpp/modules/roster/RosterSubscriptionMutator.java > J org/apache/vysper/xmpp/modules/roster/RosterItem.java > JH org/apache/vysper/xmpp/modules/roster/RosterConfiguration.java > JH > org/apache/vysper/xmpp/modules/roster/RosterNotAcceptableException.java > JH org/apache/vysper/xmpp/modules/roster/AskSubscriptionType.java > J org/apache/vysper/xmpp/modules/roster/RosterDictionary.java > JH > org/apache/vysper/xmpp/modules/extension/xep0092_software_version/SoftwareVersionIQHandler.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0092_software_version/SoftwareVersionModule.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PubSubPersistenceManager.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/MultipleSubscriptionException.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/DuplicateNodeException.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/CollectionNode.java > > jH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/model/LeafNode.java > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/SubscriberVisitor.java > > J > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/AbstractPublishSubscribeIQHandler.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/SubscriberNotificationVisitor.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubPublishHandler.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerConfigureNodeHandler.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/AbstractPubSubOwnerHandler.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/owner/PubSubOwnerDeleteNodeHandler.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/AbstractPubSubGeneralHandler.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubUnsubscribeHandler.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubCreateNodeHandler.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/handler/PubSubSubscribeHandler.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/NullPersistenceManager.java > > j > org/apache/vysper/xmpp/modules/extension/xep0060_pubsub/PublishSubscribeModule.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempModule.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempPersistenceManager.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0054_vcardtemp/VcardTempIQHandler.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeModule.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeIQHandler.java > > J > org/apache/vysper/xmpp/modules/extension/xep0202_entity_time/EntityTimeXEP0090IQHandler.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0049_privatedata/PrivateDataModule.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0049_privatedata/PrivateDataPersistenceManager.java > > JH > org/apache/vysper/xmpp/modules/extension/xep0049_privatedata/PrivateDataIQHandler.java > > org/apache/vysper/xmpp/modules/ServerRuntimeContextService.java > JH org/apache/vysper/xmpp/delivery/LocalDeliveryUtils.java > JH org/apache/vysper/xmpp/delivery/NoSuchLocalUserException.java > J org/apache/vysper/xmpp/delivery/StanzaRelay.java > J org/apache/vysper/xmpp/delivery/StanzaReceiverQueue.java > JH org/apache/vysper/xmpp/delivery/DeliveryException.java > JH > org/apache/vysper/xmpp/delivery/failure/ReturnErrorToSenderFailureStrategy.java > > JH org/apache/vysper/xmpp/delivery/failure/IgnoreFailureStrategy.java > J org/apache/vysper/xmpp/delivery/DeliveringInboundStanzaRelay.java > J org/apache/vysper/xmpp/delivery/StanzaReceiver.java > OK org/apache/vysper/xmpp/delivery/DeliveryFailureStrategy.java > J org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java > JA org/apache/vysper/xmpp/delivery/StanzaReceiverRelay.java > J org/apache/vysper/xmpp/delivery/RecordingStanzaRelay.java > JH org/apache/vysper/xmpp/delivery/LocalRecipientOfflineException.java > org/apache/vysper/xmpp/xmlfragment/XMLFragment.java > org/apache/vysper/xmpp/xmlfragment/NamespaceAttribute.java > org/apache/vysper/xmpp/xmlfragment/XMLSemanticError.java > org/apache/vysper/xmpp/xmlfragment/EqualityVerifier.java > org/apache/vysper/xmpp/xmlfragment/FragmentFactory.java > org/apache/vysper/xmpp/xmlfragment/XMLElementVerifier.java > org/apache/vysper/xmpp/xmlfragment/Attribute.java > org/apache/vysper/xmpp/xmlfragment/Renderer.java > org/apache/vysper/xmpp/xmlfragment/XMLElement.java > org/apache/vysper/xmpp/xmlfragment/XMLText.java > org/apache/vysper/xmpp/parser/io/PlainToTLSStreaming.java > org/apache/vysper/xmpp/parser/StringStreamParser.java > org/apache/vysper/xmpp/parser/EncryptionAware.java > org/apache/vysper/xmpp/parser/InputStreamParser.java > org/apache/vysper/xmpp/parser/StreamParser.java > org/apache/vysper/xmpp/parser/ParsingErrorCondition.java > org/apache/vysper/xmpp/parser/ParsingException.java > org/apache/vysper/xmpp/parser/AbstractNekopullStreamParser.java > JH org/apache/vysper/xmpp/cryptography/TLSContextFactory.java > JH org/apache/vysper/xmpp/cryptography/FileBasedTLSContextFactory.java > J org/apache/vysper/xmpp/cryptography/AbstractTLSContextFactory.java > J org/apache/vysper/xmpp/cryptography/BogusTrustManagerFactory.java > JH org/apache/vysper/xmpp/cryptography/TrustManagerFactory.java > org/apache/vysper/xmpp/server/AbstractSessionContext.java > org/apache/vysper/xmpp/server/SessionState.java > org/apache/vysper/xmpp/server/ServerRuntimeContext.java > org/apache/vysper/xmpp/server/response/ServerResponses.java > org/apache/vysper/xmpp/server/response/ServerErrorResponses.java > org/apache/vysper/xmpp/server/DefaultServerRuntimeContext.java > org/apache/vysper/xmpp/server/SessionContext.java > org/apache/vysper/xmpp/server/ServerFeatures.java > org/apache/vysper/xmpp/server/Endpoint.java > org/apache/vysper/xmpp/server/XMPPServer.java > org/apache/vysper/xmpp/server/XMPPVersion.java > org/apache/vysper/xmpp/server/ServerMain.java > org/apache/vysper/xmpp/stanza/Stanza.java > org/apache/vysper/xmpp/stanza/MessageStanzaType.java > org/apache/vysper/xmpp/stanza/IQStanza.java > org/apache/vysper/xmpp/stanza/PresenceStanzaType.java > org/apache/vysper/xmpp/stanza/dataforms/Field.java > org/apache/vysper/xmpp/stanza/dataforms/DataFormEncoder.java > org/apache/vysper/xmpp/stanza/dataforms/DataForm.java > org/apache/vysper/xmpp/stanza/dataforms/Option.java > org/apache/vysper/xmpp/stanza/IQStanzaType.java > org/apache/vysper/xmpp/stanza/MessageStanza.java > org/apache/vysper/xmpp/stanza/StanzaErrorType.java > org/apache/vysper/xmpp/stanza/XMPPCoreStanza.java > org/apache/vysper/xmpp/stanza/StanzaBuilder.java > org/apache/vysper/xmpp/stanza/StanzaErrorCondition.java > org/apache/vysper/xmpp/stanza/PresenceStanza.java > org/apache/vysper/xmpp/stanza/XMPPCoreStanzaVerifier.java > org/apache/vysper/xmpp/writer/StanzaWriter.java > org/apache/vysper/xmpp/writer/SystemOutStanzaWriter.java > org/apache/vysper/xmpp/writer/DenseStanzaLogRenderer.java > org/apache/vysper/xmpp/protocol/StreamErrorCondition.java > org/apache/vysper/xmpp/protocol/SessionStateModifier.java > org/apache/vysper/xmpp/protocol/exception/AuthorizationFailedException.java > org/apache/vysper/xmpp/protocol/exception/TLSException.java > org/apache/vysper/xmpp/protocol/exception/BadXMLException.java > org/apache/vysper/xmpp/protocol/ProtocolException.java > org/apache/vysper/xmpp/protocol/StateAwareProtocolWorker.java > org/apache/vysper/xmpp/protocol/ResponseWriter.java > org/apache/vysper/xmpp/protocol/StanzaHandler.java > org/apache/vysper/xmpp/protocol/ServiceUnavailableStanzaErrorHandler.java > org/apache/vysper/xmpp/protocol/ResponseStanzaContainerImpl.java > org/apache/vysper/xmpp/protocol/SessionStateHolder.java > org/apache/vysper/xmpp/protocol/StanzaHandlerLookup.java > org/apache/vysper/xmpp/protocol/NamespaceURIs.java > org/apache/vysper/xmpp/protocol/QueuedStanzaProcessor.java > org/apache/vysper/xmpp/protocol/ProtocolWorker.java > org/apache/vysper/xmpp/protocol/NamespaceHandlerDictionary.java > org/apache/vysper/xmpp/protocol/worker/EncryptionStartedProtocolWorker.java > org/apache/vysper/xmpp/protocol/worker/EndOrClosedProtocolWorker.java > org/apache/vysper/xmpp/protocol/worker/EncryptedProtocolWorker.java > org/apache/vysper/xmpp/protocol/worker/InitiatedProtocolWorker.java > org/apache/vysper/xmpp/protocol/worker/InboundStanzaProtocolWorker.java > org/apache/vysper/xmpp/protocol/worker/AbstractStateAwareProtocolWorker.java > > org/apache/vysper/xmpp/protocol/worker/StartedProtocolWorker.java > org/apache/vysper/xmpp/protocol/worker/AuthenticatedProtocolWorker.java > org/apache/vysper/xmpp/protocol/worker/UnconnectedProtocolWorker.java > org/apache/vysper/xmpp/protocol/HandlerDictionary.java > org/apache/vysper/xmpp/protocol/StanzaProcessor.java > org/apache/vysper/xmpp/protocol/ResponseStanzaContainer.java > OK org/apache/vysper/compliance/SpecCompliance.java > J > org/apache/vysper/compliance/reporting/DocumentSpecCompliantAnnotationFactory.java > > OK org/apache/vysper/compliance/SpecCompliant.java > JH org/apache/vysper/storage/jcr/user/JcrUserManagement.java > JH org/apache/vysper/storage/jcr/JcrStorageException.java > JH > org/apache/vysper/storage/jcr/vcardtemp/JcrVcardTempPersistenceManager.java > J org/apache/vysper/storage/jcr/JcrStorage.java > JH org/apache/vysper/storage/jcr/JcrStorageProviderRegistry.java > J org/apache/vysper/storage/jcr/roster/JcrRosterManager.java > JH > org/apache/vysper/storage/jcr/privatedata/JcrPrivateDataPersistenceManager.java > > JH org/apache/vysper/storage/StorageProviderRegistry.java > OK org/apache/vysper/storage/StorageProvider.java > JH org/apache/vysper/storage/OpenStorageProviderRegistry.java > J org/apache/vysper/storage/inmemory/MemoryStorageProviderRegistry.java > J org/apache/vysper/stanzasession/StanzaSessionContext.java > JH org/apache/vysper/stanzasession/StanzaSession.java > jA org/apache/vysper/stanzasession/StanzaSessionFactory.java > JHA org/apache/vysper/spring/AddUserHelper.java > J org/apache/vysper/spring/ResourceBasedTLSContextFactory.java > OK org/apache/vysper/spring/ServerMain.java > OK org/apache/vysper/charset/CharsetUtil.java > > > 1 : The @author tag contain some reference to someone, but if the cade > has been included, no reference from the original project >