Interested in contributing Java modernisation improvements — StringBuffer → StringBuilder, Objects.hash()

14 views
Skip to first unread message

coding kiddo

unread,
May 11, 2026, 2:11:22 AM (3 days ago) May 11
to Kill Bill users mailing-list
Hi Kill Bill team,

I've been exploring the Kill Bill codebase and would love to contribute some Java modernisation improvements. I wanted to check in on the mailing list first before opening any PRs, as your CONTRIBUTING guide suggests.

The two categories I have in mind are:

1. StringBuffer → StringBuilder in toString() methods (Few files across account, invoice, jaxrs, payment, catalog, tenant, usage, util). StringBuffer is synchronised, but all the usages I found are local variables with no cross-thread sharing, so StringBuilder is the right choice. No behavioural change.

2. Manual prime-31 hashCode() implementations → Objects.hash() (Some files, all modules). The existing pattern uses the classic `result = 31 * result + (field != null ? field.hashCode() : 0)` idiom throughout. Objects.hash() produces equivalent results and is significantly more readable.

Both changes are purely readability and maintainability improvements — no API or behavioural impact, no Java version requirement beyond what's already in use.

A few questions before I start:
- Are these kinds of PRs welcome? Any concerns with either category?
- Do you have a preferred PR size or module ordering (e.g. one module per PR)?
- Is there a commit message convention I should follow?

Happy to start small with a single module to demonstrate the approach before expanding.

Thanks for the great project — looking forward to contributing!

Vinod Kumar M


Reply all
Reply to author
Forward
0 new messages