DEV Community

Programming Entry Level: best way to coding

Understanding the Best Way to Coding

So, you're starting your coding journey? Awesome! One of the first things you'll quickly realize is that there's more to coding than just making things work. There's a "best way" to do things – a way that makes your code easier to understand, easier to fix, and easier to build upon. This isn't about being perfect from day one, but about building good habits early on. Understanding this is also something you'll be asked about in interviews, even as a junior developer! They want to see you think about code quality, not just functionality.

2. Understanding "best way to coding"

What is the "best way to coding," anyway? It's often called "clean code." Think of it like building with LEGOs. You can just stack bricks randomly and make something… but it'll be wobbly and hard to modify. A better approach is to build with a plan, using organized structures and clear connections.

Clean code is code that is:

  • Readable: Someone (including your future self!) should be able to understand what the code does without spending hours deciphering it.
  • Maintainable: It should be easy to make changes and fix bugs without breaking other parts of the program.
  • Reusable: Parts of your code should be able to be used in other projects or in different parts of the same project.

It's about writing code for humans first, and computers second. Computers don't care how messy your code is, but humans do!

Here's a simple way to visualize it:

graph LR
    A[Problem] --> B(Plan);
    B --> C{Write Code};
    C --> D[Test Code];
    D --> E{Is it Clean?};
    E -- Yes --> F[Commit Code];
    E -- No --> C;
Enter fullscreen mode Exit fullscreen mode

This diagram shows the iterative process. You don't just write code and be done. You plan, write, test, and then check if it's clean. If not, you go back and refine it.

3. Basic Code Example

Let's look at a simple example in Python. We'll create a function to calculate the area of a rectangle.

def calculate_rectangle_area(length, width):
    """
    Calculates the area of a rectangle.

    Args:
        length: The length of the rectangle.
        width: The width of the rectangle.

    Returns:
        The area of the rectangle.
    """
    area = length * width
    return area
Enter fullscreen mode Exit fullscreen mode

Let's break this down:

  1. def calculate_rectangle_area(length, width): defines a function named calculate_rectangle_area that takes two arguments: length and width. The name clearly tells you what the function does.
  2. The lines within triple quotes ("""...""") are a docstring. This is a description of the function, its arguments, and what it returns. It's super important for readability.
  3. area = length * width calculates the area. The variable name area is descriptive.
  4. return area returns the calculated area.

Now, let's look at a less clean version:

def calc(l, w):
    a = l * w
    return a
Enter fullscreen mode Exit fullscreen mode

While this works, it's harder to understand. What does calc do? What are l, w, and a? The first example is much clearer and easier to maintain.

4. Common Mistakes or Misunderstandings

Here are some common mistakes beginners make:

❌ Incorrect code:

def add_numbers(x, y):
  return x+y
Enter fullscreen mode Exit fullscreen mode

✅ Corrected code:

def add_numbers(x, y):
    """Adds two numbers together."""
    return x + y
Enter fullscreen mode Exit fullscreen mode

Explanation: The first example lacks a docstring. Even a simple function benefits from a brief explanation of what it does.

❌ Incorrect code:

a = 10
b = 20
c = a + b
print(c)
Enter fullscreen mode Exit fullscreen mode

✅ Corrected code:

length = 10
width = 20
area = length + width
print(area)
Enter fullscreen mode Exit fullscreen mode

Explanation: Using single-letter variable names like a, b, and c makes the code hard to understand. Descriptive names like length, width, and area make it clear what each variable represents.

❌ Incorrect code:

def process_data(data):
  # Do some stuff

  for i in range(len(data)):
    print(data[i])
Enter fullscreen mode Exit fullscreen mode

✅ Corrected code:

def process_data(data):
    """Prints each item in a list."""
    for item in data:
        print(item)
Enter fullscreen mode Exit fullscreen mode

Explanation: Using i as an index and then accessing data[i] is less readable than directly iterating through the data using for item in data.

5. Real-World Use Case

Let's imagine we're building a simple program to manage a list of tasks. We can use clean code principles to create a well-structured program.

class Task:
    """Represents a single task."""

    def __init__(self, description, priority):
        """Initializes a new task."""
        self.description = description
        self.priority = priority
        self.completed = False

    def mark_complete(self):
        """Marks the task as complete."""
        self.completed = True

    def __str__(self):
        """Returns a string representation of the task."""
        return f"Task: {self.description}, Priority: {self.priority}, Completed: {self.completed}"

class TaskList:
    """Manages a list of tasks."""

    def __init__(self):
        """Initializes an empty task list."""
        self.tasks = []

    def add_task(self, task):
        """Adds a task to the list."""
        self.tasks.append(task)

    def display_tasks(self):
        """Displays all tasks in the list."""
        if not self.tasks:
            print("No tasks in the list.")
            return

        for task in self.tasks:
            print(task)
Enter fullscreen mode Exit fullscreen mode

This example uses classes (Task and TaskList) to organize the code. Each class has a clear purpose, and the methods within each class are well-named and documented. This makes the code easier to understand, modify, and extend.

6. Practice Ideas

Here are a few ideas to practice writing clean code:

  1. Simple Calculator: Create a calculator that performs basic arithmetic operations (addition, subtraction, multiplication, division). Focus on clear function names and docstrings.
  2. Temperature Converter: Write a program that converts temperatures between Celsius and Fahrenheit.
  3. To-Do List (Console-Based): Build a simple to-do list application that allows users to add, view, and mark tasks as complete.
  4. String Reverser: Write a function that reverses a given string.
  5. Palindrome Checker: Create a function that checks if a given string is a palindrome (reads the same backward as forward).

7. Summary

You've learned that "best way to coding" – or clean code – is about writing code that is readable, maintainable, and reusable. It's about thinking about the humans who will read your code, not just the computer. Focus on descriptive names, docstrings, and clear structure.

Don't get discouraged if it feels challenging at first. It takes practice! Keep writing code, reviewing other people's code, and seeking feedback.

Next steps? Explore concepts like code style guides (like PEP 8 for Python), and start learning about unit testing – a way to automatically check if your code is working correctly. You've got this!

Top comments (0)