Keeping your codebase Small and easily readable

Keeping your codebase Small and easily readable

Initially, starting a software project with only one or two source files is ideal. The code is simple to compile, run, modify, and remember where each function or class is defined.

Then, as the project expands, your directory becomes increasingly crowded with source files. You'll need many directories to organize everything. It's more difficult to remember which functions call which, therefore locating issues requires more effort.



Eventually, you'll have a large amount of source code split over multiple directories. The project is vast and no one person has a comprehensive understanding of it. Adding new features is difficult, and dealing with the code is tedious and unpleasant.

The universe follows a natural law: as a coordinated system increases, so does the complexity required to hold it together.

The best approach to cope is to maintain your codebase as compact and lightweight as possible, even as your project grows.

? Use as much general "utility" code as feasible to eliminate duplicated code.

? Eliminate unneeded code and functionalities.

? Keep your project divided among unconnected subprojects.

? In general, consider the "weight" of your codebase. Keep things light and agile.

Shruthi N.

Software Architect - Airbag Control Unit , Functional Safety Analysis (Software) at Continental , Pursuing Mtech in Automotive Engineering #Adept at Mastering New Concepts

7 个月

This is where architecture is very important and the principle should be “low coupling and high cohesion”. Well written . Thanks for sharing.

Ashok Goraguddi, (PMP)?

Software Project Manager at Continental

7 个月

Very nicely written Nagappa Y !!

要查看或添加评论,请登录

Nagappa Y的更多文章

  • Automated Car Parking

    Automated Car Parking

    An Automated Parked Car is a car that has advanced parking assistance technology and can park itself without direct…

  • C++ switch v/s if-else

    C++ switch v/s if-else

    Both switch and if/else statements are used for decision-making in C++, but they function differently and have…

  • Driver drowsiness detection

    Driver drowsiness detection

    Driver drowsiness detection is an automobile safety device that helps avoid accidents caused by tired drivers…

  • Anti-lock Braking System(ABS)

    Anti-lock Braking System(ABS)

    What is ABS? ABS represents anti-lock braking system. It is a safety device that keeps wheels from locking up while…

  • V2X Communication

    V2X Communication

    What Is V2X Communication? Vehicle-to-Everything, or V2X, is a type of vehicular interaction system that enables the…

  • Adaptive Cruise Control

    Adaptive Cruise Control

    Overview Adaptive Cruise Control Feature for passenger cars allows the host vehicle to adapt to the speed in line with…

  • Autonomous Driving Function Levels

    Autonomous Driving Function Levels

    The Society of Automotive Engineers (SAE) has produced a thorough framework for grouping and defining the various…

  • Advanced Driver Assistance Systems (ADAS)

    Advanced Driver Assistance Systems (ADAS)

    What is ADAS (Advanced Driver Assistance Systems) Almost all automobile accidents are caused by human mistake, which…

社区洞察

其他会员也浏览了