Another one is giving insanely long names but only changing one little part, instead of taking advantage of the heirarchical nature of programming languages and coming up with a nice nested structure. Example:
class TheRpcThing
{
object TheRpcThingHost
object TheRpcThingHostTimer
class TheRpcThingValidationException
{
object TheRpcThingHostValidationException
object TheRpcThingHostValidationExceptionErrorMessage
object TheRpcThingHostValidationExceptionErrorMessageFormatter
}
}
The cognitive cost of reading a bunch of previously-unseen code, which has an accumulation (the perfect word for this kind of thing) of the above can be so frustrating.