Hacker News new | past | comments | ask | show | jobs | submit login

Code is firstly a social human language for machine behavior. It's not useful if others can't reason about it, maintain it, or it contains surprises.

Wise engineers don't add complexity or try to be too clever. Simple and small is elegant. Secure engineers don't have anything to prove and create maintainable code. OTOH, paycheck-driven engineers are incurious to try new things or promote software craftsmanship.

Lack of consistency can be enforced by code style linters. Let the linters be the Bad Guy(tm). Get agreement and buy-in on these beforehand.

Separate the people from the problems: give immediate, actionable, constructive feedback privately. Use frame taking to show how their actions come across and the concerns you have... for example, who supports this code when there's an P0?

Mentors are also needed. If possible, hire or advance an "old timer" in the space who can teach some new dogs new tricks.

Whitespace... I come from Ruby land where visual alignment, proper spacing, and terseness are valued. Too many comments and too much whitespace are a distraction, just like condensing too much. In general, very small functions, good semantic naming, DRY, and few levels of indentation make code more pleasurable to read than giant god functions with duplication or excessive line length. Code that runs together without functional visual separation doesn't make it clear what's prologue assertions and setup, main work, and epilogue return.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: