AKA You Down with SoC?
В этом посте будет рассказано о важности разделения проблем (SoC) и о том, как это соотносится с каждым аспектом вашей программы. В будущих публикациях это будет служить примером для максимального категориального и коллективного понимания концепции.

Разделение проблем - что это значит?
В широком смысле SoC означает идею о том, что компьютерные программы должны быть разделены на отдельные разделы, чтобы каждый раздел касался конкретной проблемы. Разделяя части нашего кода внутри четко определенных интерфейсов, мы можем создавать программы с отдельными подпрограммами, отображенными в более удобочитаемых терминах. Поступая так, мы можем поддерживать порядок в нашей программе, позволяя делать более краткие логические выводы на пошаговой основе. Кроме того, эти подпрограммы могут использоваться другими программами как средства обратного вызова функций.

Это может показаться довольно простой концепцией, но если вы активно не пытаетесь разделить части своей программы, может быть очень легко просто написать спагетти-код. Важно понимать, что SoC, как и все остальное, может стать обычным делом после небольшой практики. Например, убирая посуду, интуитивно понятно, что не нужно класть все в один шкаф каждый раз. Просеивание мисок, тарелок и посуды стало бы кошмаром! Именно здесь на помощь приходит SoC. Мы разделяем кухонную утварь на основе сходства, чтобы поддерживать порядок и доступность, не копаясь в хаосе каждый раз, когда мы проголодались. Точно так же разделение частей нашего кода дает нам возможность легко получать доступ, настраивать и повторно использовать наш код, сохраняя при этом удобочитаемость.

С чего начать?
Иногда бывает сложно понять, с чего начать, особенно когда вы только начинаете. Мне всегда полезно помнить, что мы должны сохранить наш код D-R-Y (Не повторяйся) вместо W-E-T (Написание всего дважды). То есть, если вы попадаете в ситуацию, когда вы пишете одну и ту же (или похожую) строку кода снова и снова, вам может быть лучше создать функцию вне существующей программы, которую вы можете вызывать всякий раз, когда вам это нужно. Это может показаться не таким уж большим, если вы просто умножаете числа, но помните, что эти маленькие шаги в сумме значительно сэкономят ваше время. Начиная с основ, вы меняете свое отношение к своей программе. При этом будет легче понять более сложные концепции SoC, с которыми вы можете столкнуться в классах, MVC, узлах и т. Д.

Краткий обзор:
SoC помогает упростить разработку и обслуживание компьютерных программ. Когда код хорошо разделен, отдельные разделы можно повторно использовать, изменять и отлаживать с легкостью и независимо. Внедрение SoC не произойдет в одночасье, но важно всегда просматривать свой код, чтобы попытаться найти способы разделить свои проблемы на части читаемого кода. Примеры того, как классы являются формой SoC, можно найти в этом сообщении.