bc-java icon indicating copy to clipboard operation
bc-java copied to clipboard

Poor documentation

Open Mingun opened this issue 3 years ago • 2 comments

Right now almost any classes in the library have missing javadoc. I would like to see at least description on each class for what purpose it is designed. Currently I see at the code and can't understand: for what all these sophisticated classes? Why I should use helpers for generators for builders (or generators for builders of helpers?) to make anything useful? Without documentation most parts of the library looks like pile of classes with no clear intention.

You known, crypto things is not the things where you can done some experimenting and understand what happens much. You should clearly understand what you try to achieve, but that is not the simple task especially if that is not your everyday work.

For example, I spent a few days to understand what classes I should use to implement signature checking and how to decipher data when implementing the TR-34 standard. I had to perform search on the code in this repository to find right classes and read a lot of not well-written code. The things get harder because in many cases my trail is lead me to the some undocumented interface with unclear intentions and I had to search where the actual class is instantiated and what it does. It is nightmare.

So can you please add some documentation to the library?

For example, you can start from documenting interfaces, at least the interfaces itself, without their methods:

  • their purpose
  • how to get/create instance of that interface
  • examples of usage

Mingun avatar Apr 20 '21 05:04 Mingun

I agree with @Mingun on the same

Susmit07 avatar May 10 '21 11:05 Susmit07

I also agree, the API is awesome but the documentation is so poor it makes development difficult.

adolfo-trocoli avatar May 10 '22 01:05 adolfo-trocoli