Mandatory rules on line lengths are bad - there will always be cases where a longer line is more readable than the alternative.
However, very long lines for no good reason do hurt readability. For example, this declaration in validation.h is 274 chars:
0 bool ConnectTip(BlockValidationState& state, const CChainParams& chainparams, CBlockIndex* pindexNew, const std::shared_ptr<const CBlock>& pblock, ConnectTrace& connectTrace, DisconnectedBlockTransactions& disconnectpool) EXCLUSIVE_LOCKS_REQUIRED(cs_main, m_mempool.cs);
That won’t fit on one line without wrapping on my 27" monitor with a comfortable font size. Much easier to read is something like:
0 bool ConnectTip(BlockValidationState& state, const CChainParams& chainparams,
1 CBlockIndex* pindexNew, const std::shared_ptr<const CBlock>& pblock,
2 ConnectTrace& connectTrace, DisconnectedBlockTransactions& disconnectpool)
3 EXCLUSIVE_LOCKS_REQUIRED(cs_main, m_mempool.cs);
Therefore, discourage (don’t forbid) line lengths greater than 100 characters in our developer style guide.
100 chars is somewhat arbitrary. The old standard was 80, but that seems very limiting with modern displays.