The first commit removes a TODO that is infeasible to solve. Currently, most (de)serializable classes in Bitcoin Core have public members. For example CMessageHeader, FlatFilePos, CBlock, CTransaction, CCoin, ...
So either this TODO comment should apply to all classes or to none. Fix that discrepancy by removing it from the source code for now. If deemed important, the TODO can be discussed in a brainstorming issue later.
Backport note: the second commit is about style. Some changes go against ABC style guidelines, the rest are already applied.
This is a backport of Core PR18996