DEV Community

Cover image for How to Write Clean JavaScript Code: Best Practices with Examples ✨
ROHIT SINGH
ROHIT SINGH

Posted on

How to Write Clean JavaScript Code: Best Practices with Examples ✨

Clean code is not just about making your program run—it’s about writing code that is readable, maintainable, and easy to debug. As projects grow, messy code turns into technical debt, slowing down development and making bug fixing harder.

In this blog, we’ll explore clean code practices in JavaScript with examples you can use today.

  1. Use Meaningful Variable & Function Names

❌ Bad Code

let x = 10;
let y = 20;
let z = x + y;

function d(a, b) {
  return a * b;
}
Enter fullscreen mode Exit fullscreen mode

✅ Clean Code

let price = 10;
let tax = 20;
let totalPrice = price + tax;

function calculateDiscount(price, discountRate) {
  return price * discountRate;
}
Enter fullscreen mode Exit fullscreen mode

👉 Names should explain the purpose, not just store data.

  1. Keep Functions Small & Focused

❌ Bad Code

function processUser(user) {
  console.log("Saving user to DB...");
  database.save(user);
  console.log("Sending welcome email...");
  emailService.send(user.email, "Welcome!");
  console.log("Logging user activity...");
  logger.log(user);
}
Enter fullscreen mode Exit fullscreen mode

✅ Clean Code

function saveUser(user) {
  database.save(user);
}

function sendWelcomeEmail(user) {
  emailService.send(user.email, "Welcome!");
}

function logUserActivity(user) {
  logger.log(user);
}

function processUser(user) {
  saveUser(user);
  sendWelcomeEmail(user);
  logUserActivity(user);
}
Enter fullscreen mode Exit fullscreen mode

👉 Each function should do one thing only.

  1. Avoid Magic Numbers & Strings

❌ Bad Code

if (user.age > 18) {
  giveAccess(user);
}
Enter fullscreen mode Exit fullscreen mode

✅ Clean Code

const MINIMUM_AGE = 18;

if (user.age > MINIMUM_AGE) {
  giveAccess(user);
}
Enter fullscreen mode Exit fullscreen mode

👉 Use constants to make code self-explanatory.

  1. Use Consistent Formatting

Tools like Prettier and ESLint help keep your code uniform.

❌ Messy Code

function add(a,b){return a+b;}
const result=add(5,10);console.log(result);
Enter fullscreen mode Exit fullscreen mode

✅ Clean Code

function add(a, b) {
  return a + b;
}

const result = add(5, 10);
console.log(result);
Enter fullscreen mode Exit fullscreen mode

👉 Consistency makes code easier to read and review.

  1. Prefer const and let over var

❌ Bad Code

var count = 0;
for (var i = 0; i < 5; i++) {
  count += i;
}
console.log(i); // i is still accessible (bug-prone!)
Enter fullscreen mode Exit fullscreen mode

✅ Clean Code

let count = 0;
for (let i = 0; i < 5; i++) {
  count += i;
}
console.log(count); // i is not leaked outside
Enter fullscreen mode Exit fullscreen mode

👉 Use const for values that don’t change, let for mutable ones.

  1. Write Comments Wisely

❌ Bad Code

// increment count by 1
count = count + 1;
Enter fullscreen mode Exit fullscreen mode

✅ Clean Code

// Track user login attempts to prevent brute force attacks
loginAttempts++;

👉 Comment why, not what. The code itself should explain the "what".

  1. Handle Errors Gracefully

❌ Bad Code

const data = JSON.parse(input); // crashes if invalid
Enter fullscreen mode Exit fullscreen mode

✅ Clean Code

let data;
try {
  data = JSON.parse(input);
} catch (error) {
  console.error("Invalid JSON input:", error.message);
  data = {};
}
Enter fullscreen mode Exit fullscreen mode

👉 Always assume things can go wrong.

  1. Use DRY Principle (Don’t Repeat Yourself)

❌ Bad Code

function getUserFullName(user) {
  return user.firstName + " " + user.lastName;
}

function getAdminFullName(admin) {
  return admin.firstName + " " + admin.lastName;
}

Enter fullscreen mode Exit fullscreen mode

✅ Clean Code

function getFullName(person) {
  return `${person.firstName} ${person.lastName}`;
}

Enter fullscreen mode Exit fullscreen mode

👉 Reuse logic instead of duplicating it.

  1. Use Default Parameters

❌ Bad Code

function greet(name) {
  if (!name) {
    name = "Guest";
  }
  console.log(`Hello, ${name}`);
}
Enter fullscreen mode Exit fullscreen mode

✅ Clean Code

function greet(name = "Guest") {
  console.log(`Hello, ${name}`);
}
Enter fullscreen mode Exit fullscreen mode

👉 Makes code shorter and cleaner.

  1. Write Tests 🧪

Clean code isn’t just about style—it’s about reliability. Use Jest, Mocha, or Vitest for testing.

function add(a, b) {
  return a + b;
}

test("adds two numbers", () => {
  expect(add(2, 3)).toBe(5);
});
Enter fullscreen mode Exit fullscreen mode

🚀 Conclusion

Clean code is about clarity, simplicity, and maintainability.

Use meaningful names.

Write small, focused functions.

Avoid duplication.

Handle errors properly.

Keep your code consistent.

Clean JavaScript not only helps you but also your future self and teammates.

🚀 Rohit Singh 🚀 – Medium

Read writing from 🚀 Rohit Singh 🚀 on Medium. Full-stack developer with 6+ years in Angular, Node.js & AWS. Sharing tips, best practices & real-world lessons from building scalable apps.

favicon medium.com

Top comments (0)