Hello.

Here are a few comment from a quick browse of today's update
of PR #83.

* "package private for testing" is not a good reason (IMO)
* There are spurious blank spaces in some of the file ("git diff"
shows them in red)
* You should always perform "git rebase master"
* In "Builder":
** Field "hashes" should be "final"
** I still fail to see the necessity to duplicate "with" functionality
with "build" methods
* Why should so many classes be "Serializable"?
* "StandardBloomFilter" is documented as "immutable" but it is not:
There are 2 non "final" fields and 1 "final" but "protected" (hence
it can be modified outside the class without ensuring its invariants)
* IMHO use of transient fields is detrimental to the robustness of the
design: It seems that "hamming weight" is not _used_ by the
implementations (called only in the unit tests?)
* Ditto for "logValue"
* Did you check whether "murmur 128 hash" is available in "Commons
Codec"?
* Name of classes should not be abbreviated (cf. "Config", "Proto", "Stats" ...)
* Package name is still plural: Should be singular IMO
* Rule checks general suppression should be removed in the config
files (CheckStyle, FindBugs) and replace by specific (within code)
statements
if applicable (e.g. the disabling of "no default in switch" is unnecessary
since AFAICT a "default" is always provided).
* All (also "private") fields and methods must be commented with Javadoc,
not just code comment.
* There should be a reference to what is a Bloom filter
* Occurrences of "bloom" should be replaced with "Bloom"
* There some style issues:
** There should be no space after an opening parenthesis, or before
a closing one
** Curly braces position: opening on the same line, closing on a
separate line

Best regards,
Gilles

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to