Может ли S SOLID быть расширен для каждого элемента кода? - PullRequest
1 голос
/ 20 февраля 2012

S известного дизайна объектно-ориентированного программирования означает:

Принцип единой ответственности, понятие, что объект должен иметь только одну ответственность.

IИнтересно, можно ли распространить этот принцип даже на массивы, переменные и все элементы программы?

Например, скажем, у нас есть:

int A[100];

И мы используем егочтобы сохранить результат функции, но каким-то образом мы используем тот же A [100], чтобы проверить, например, какие индексы A мы уже проверили и разработали.Может ли это считаться неправильным?Не должны ли мы создать еще один элемент для хранения, например, индексы, которые мы уже проверили?Разве это не намек на будущий грязный код?

PS: Извините, если мой вопрос не понятен, но английский не является моим основным языком.Если у вас есть какие-либо проблемы с пониманием сути, пожалуйста, дайте мне знать в комментарии ниже.

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Если один и тот же экземпляр A используется в разных частях кода программы, вы должны следовать этому принципу. Если A вспомогательная переменная, например локальная, я думаю, вам не нужно , чтобы заботиться об этом.

0 голосов
/ 20 февраля 2012

Если вы отслеживаете использование битов массива, которые были обновлены, то вам, вероятно, следует использовать не массив, а карту вместо этого.

В любом случае, если вам нужен такой дополнительный контроль над массивом, тогда, в основном, вы должны рассмотреть класс, который содержит как содержимое массива, так и различную информацию о том, что было и чего не было сделано. Таким образом, ваш массив становится локальным для объекта класса, как и ваши элементы управления, и вуаля. Вы снова несете единоличную ответственность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...