Lesson 7: Function Vibe: Small, Single-Purpose, and Intuitive Methods
The function is the atom of Vibe Coding. If functions are bloated, confusing, or handle too many responsibilities, the entire system becomes brittle.
The Single Responsibility Principle (SRP)
Every function should do one thing, and do it well. If you find yourself using the word 'and' when describing what a function does, it’s a sign it should be broken up.
Vibe Check: Function Length
Try to keep functions under 50 lines (ideally 10-20 lines of core logic). Longer functions are difficult to test and maintain.
| Bad Vibe Function | Good Vibe Function |
|---|---|
process_order_and_send_confirmation_and_update_inventory(order) | process_order(order) (calls others) |
setup_environment() | setup_database(), configure_logging() |
Arguments and Outputs: Clean Interfaces
Minimize the number of arguments a function takes (ideally 0-3). Too many arguments signal that the function is doing too much or that the data should be encapsulated into an object/class.
Boolean Flags: A Vibe Warning Sign
If you pass a boolean flag to control the function's internal behavior, you are likely violating SRP, as the function now has two different responsibilities.
python
Bad Vibe: Two jobs in one function
def save_data(data, validate_only=False): if validate_only: # Validation logic return is_valid else: # Save logic db.save(data)
Good Vibe: Separate functions for separate responsibilities
def validate_data(data): # Validation logic pass
def save_data(data): validate_data(data) # Ensure validation happens first db.save(data)
Good function design makes the code easy to test, reuse, and understand at a glance.