F
F
Filipp422021-01-07 17:06:31
Programming
Filipp42, 2021-01-07 17:06:31

How to deal with huge sources?

Tell me how to understand which part is responsible for what in large projects consisting of hundreds of files, such as the Linux kernel. Personally, I'm confused in this ocean of code, and I can't imagine how such giants are supported. How to add new functionality and look for bugs?

Answer the question

In order to leave comments, you need to log in

7 answer(s)
T
TheAthlete, 2021-01-07
@Filipp42

In programming, there is such a thing as modularity - large systems are divided into modules, each of which is responsible for its part of the work - the linux kernel, graphics subsystem, drivers. If we take the Linux kernel, then there are many modules - drivers for equipment - video cards, sound cards, etc. at the lowest level, a subsystem for multiplexing I/O (select/poll/epoll), etc. Each developer is engaged in his task, his module in the Linux kernel. For example, if you write in Node.js, you can start wondering what's inside. And find the chain that leads to the Linux kernel (simplified): Node.js -> libuv -> epoll and then understand how this system call works at the kernel level and start studying the Linux kernel source code for this system call.

N
Northern Lights, 2021-01-08
@php666

No way.
If we are talking about commercial projects, where 10 generations of developers have changed, then everything is done by random, with caution. If the project does not imply modularity or OOP, then this is an asshole.
Digging through such piles of code is the most disgusting part of the profession. No experience, no practical use. The programmer acts as a kind of janitor, digging into the shit.

A
Anton R., 2021-01-07
@anton_reut

- How to eat an elephant?
- Piece by piece. And with ketchup.

E
Ernest Faizullin, 2021-01-07
@erniesto77

it is necessary to disassemble the logic of the project with the developer of this project. Otherwise, it will be difficult, it is easier to raise a topic from scratch than to poke around.

X
xmoonlight, 2021-01-08
@xmoonlight

Profiling and drawing up the entire architectural scheme of the project (or part of it).

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question