20 Bad Habits of Programmers and How to Avoid Them
The article enumerates twenty common bad habits of programmers—from inconsistent terminology and poor documentation to inadequate testing and lack of communication—explaining why they hinder productivity and offering guidance on how to adopt better practices for professional growth.
Being a good programmer requires not only technical skills but also a set of professional habits. This article lists twenty typical bad habits that can impede a developer's effectiveness and suggests ways to improve.
1. Inconsistent technical term spelling Using incorrect or inconsistent capitalization for terms such as Java, JavaScript, Python, MySQL, HBase, RESTful can create a poor impression and may cause resume rejections.
2. Improper mixed Chinese‑English typography Mixing Chinese characters with English punctuation, using full‑width characters for English, and omitting spaces between Chinese and English/numbers makes documents hard to read.
3. Missing or verbose comments on critical logic Complex or important code should have concise, clear comments; otherwise others cannot understand the intent.
4. Writing overly long functions Functions that span hundreds of lines violate the single‑responsibility principle and become difficult to maintain.
5. Relying on low‑quality blogs instead of official documentation Official docs are usually reliable and comprehensive; ignoring them leads to misinformation.
6. Dismissing the value of deep fundamentals Focusing only on the latest frameworks without understanding underlying principles (e.g., OS, networking) limits problem‑solving ability.
7. Showing off without substance Mentioning buzzwords without being able to discuss details reveals shallow knowledge.
8. Not accepting criticism Responding defensively to feedback prevents learning and collaboration.
9. Unstandardized API contracts Defining interfaces only verbally without proper documentation leads to integration issues.
10. Blindly persisting with a problem Stubbornly trying to solve an issue alone until deadlines pass wastes time; timely communication is essential.
11. Talking big but delivering poor code Over‑promising in design discussions but failing in implementation shows a gap between theory and practice.
12. Illogical communication Failing to provide context or consider the listener’s perspective makes discussions confusing.
13. Being a "help‑seeker" without effort Asking questions without first searching or thinking shows lack of initiative.
14. Repeating the same mistakes Not learning from past errors reflects poor attitude.
15. Adding features without considering extensibility Ignoring the overall system architecture leads to code bloat.
16. Not self‑testing APIs and missing logs Deploying untested interfaces without proper logging hampers debugging and collaboration.
17. Non‑standard commit messages Vague or missing commit descriptions increase the cost of tracing changes.
18. Directly modifying production databases Editing live data without safeguards or peer review can cause data loss.
19. Coding before clarifying requirements Jumping into implementation without understanding the problem leads to rework.
20. Not documenting important designs Lack of design documentation makes knowledge transfer difficult.
These habits can be grouped into four areas: solid programming craftsmanship, a humble learning mindset, effective communication, and teamwork. Improving these habits helps developers become more professional and reliable contributors.
Architect
Professional architect sharing high‑quality architecture insights. Topics include high‑availability, high‑performance, high‑stability architectures, big data, machine learning, Java, system and distributed architecture, AI, and practical large‑scale architecture case studies. Open to ideas‑driven architects who enjoy sharing and learning.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.