Восстановление пароля
Digital-Outsourcing > Блог > Основы IT. ООП, Логика, Файлы.
Небольшая статья про основы IT, необходимая для понимания многим специалистам, так как сейчас практические любая должность связанна с автоматизацией.
Итак начнем с конца. Файлы и папки. Они имеют древообразную структуру, которая структурирует информацию. Это аналог анализа, где мы более широкие понятия делим на детали. Так вот: стройте папки в пк так же как понятия строятся в жизни, что бы не было потом неразберихи. Есть такая вещь как ссылка, она помогает связать сто-то очень вложенное с другой папкой.
За рубежом есть такое направление - информационная архитектура, это такая специальность - строить общение между людьми и их информацию по шаблонам, что бы было легче все понимать.
Так вот о файлах. Старайтесь, что бы каждый файл означал доступную, понятную сущность. Папка же удерживала одинаковые по признаку файлы, а папки в ней погружали в детали общего понятия.
Именно файлы уже нам напоминают, что есть более широкие понятия, а есть их составляющие, это еще можно назвать деревом, иногда это используется в понятии графы и есть еще такое Mind-Map.
Если с вложенностью разобрались, идем дальше. Дальше ООП. Кстати менеджерам тоже полезно, так как есть понятие OOD (Object Oriented Design). Почему же объектно ориентированное программирование, и как было раньше.
А раньше было очень похоже, оно было функциональным. Давайте теперь о том, что такое переменная и функция.
Ну например надо нам сделать простой калькулятор, что бы одно число, прибавлял ко второму.
Так вот. Если что-то надо или вводить или выводить из любого процесса. Это - переменная, так как она не определена изначально. Или например наша программа не гибкая и она просто к 2 прибавляет 3 и равно это 5, то это и так понятно. То есть использование переменных делает функцию полезной и нужной. Так вот про функцию. Функция - это набор операция над этими переменными, например x + y = z. Понятие функция встречалось в математике, оно так и записывалось f(x,y), то есть что-то там с x,y происходит и вуаля - нужный ответ.
В проектировании иногда неважно что происходит, но надо хотя бы понимать, что входит и выходит, какие переменные. Ну а операции над данными бывают разные, из математики помним: +, -, /, *, %, ! и т.д. и т.п. Ну и если проектировщики учились в институте они могут формулы подготовить к программингу то. А вот кроме математики добавилась из философии еще и логика, так как машина стала умнее и вошла уже в жизнь всех людей, а значит ее пришлось научить философским понятиям, таким как И, ИЛИ, НЕ. Вот они три кита, как в мифологиях - черное, белое, серое. Ну и ввели особый вид переменных true, false - правда или лож. То есть крути как-то поступившие данные и узнаем правильно или нет. А кручение понятий назвали алгоритмом. Ну а что-бы учитывать разные варианты и реагировать еще добавили оператор if, else.
И теперь можно описывать жизненные процессы, как алгоритмы, для обработки всех возможных вариантов, например. Переменная сколько у меня денег = X, а сколько стоит молоко, Y, и шоколадка Z.
Теперь придумаем программу, что бы я вводил все 3 параметра и знал с чем придти домой. С чего начать?
Ну давайте попробуем написать словами сначала, что мне вообще нужно: Если у меня хватит денег на молоко, я куплю молоко. Если останется на шоколадку и ее тоже. Если нет, все равно пойду с молоком домой. Вот что выходит:
if (X > Y) {
Купить молоко;
if ((X-Y) > Z) Купить шоколадку;
else Не парится особо, без сладкого проживем как-то;
}
Кроме всего вышеописанного, что заметно: последовательность сверху вниз и скобки, которые известны нам с математики, что в скобках сначала. Так что без знаний математики никуда.
Есть еще такой паттерн(шаблон), как метод перебора вариантов, который может нам открыть все возможные варианты, например:
Было: Х
Есть: Y, Z
Стало: ?
И по методу перебора вариантов, можно вернутся с:
XYZ - ну украсть например
XY - украсть только молоко
XZ - украсть шоколадку
Y - Купить молоко
YZ - Купить молоко и шоколадку
Z - Купить только шоколадку
X - ничего ни купить.
Мало того, есть же количественные показатели, то есть можно:
Купить 2 молока.
Или мы забыли про сдачу. Ее можно или забрать или забыть.
В общем как вы видите в жизни параметров слишком много, так вот помните, что программа или задача, должна обязательно ограничиваться ВХОДНЫМИ ДАННЫМИ и ВЫХОДНЫМИ, так как параметров можно найти ооочень много.
А теперь любой набор таких операций можно одеть в функцию и выйдет например:
function market(X,Y,Z) {
if (X > Y) {
Купить молоко;
Сдача = X - Y;
if ((X-Y) > Z) { Купить шоколадку; Сдача = Сдача - Z;}
else Не парится особо, без сладкого проживем как-то;
}
return Сдача;
}
Такая функция будет выдавать, сколько сдачи останется у нас. Понятное дело, много нюансов, таких как возвращение данных, фигурные скобки, точка с запятой, но все эти нюансы приходят с опытом конечно.
Так что же такое ООП все таки. А это соединение того самого дерева фалов с программированием. И теперь появляется такое понятие класс - это как бы набор переменных и функций, часть которых работает только внутри, а часть может вызываться и снаружи. То есть например есть теперь класс Мои_дела у которого есть переменные, которые называются атрибуты теперь. Например: атрибут деньги, будет Мои_дела->X, Атрибут цена молока, Мои_дела->Y. А вот функция называется метод. Что в принципе тоже логично, как бы мысль, “попить бы че?”, метод решить проблему - Мои-Дела->Купить_молока(X,Y,Z). В принципе как и в жизни, взял денег, увидишь по ходу цены, а в результаты останется сдача и молоко. Так что наверное еще надо переменную, или как в ООП - атрибут Мои-Дела->молоко. Ну а молоко, как в сказке про вини пуха про мед - “Молоко очень странный предмет, то оно есть, то его сразу нет”. А значит переменная молоко будет философская - boolean которая может быть true или false.
Вот как то так в общем рассказал. Если не понятно, конечно лучше взять да книгу прочитать или гугл. Вот понимая все это, легко писать ТЗ или проектировать автоматизацию и информационный системы.
Статья в основном предназначена новичкам и менеджерам, а так же всем тем кто еще раз читает что-то про огромный мир IT. Ведь сейчас почти все процессы описываются информатикой. Эх… Нуи времена… Что же дальше?