• Преимущесва регистрации
    Post
    Специальный цены, бонусы и подарки.
    Post
    История заказов, ваши данные, расширенные комментарии.
    Post
    Быстрый заказ с сохранением данных, доп. опции заказа.
EN / RU

Основы IT. ООП, Логика, Файлы.

Дата публикации: 2014-05-25 от torrison1 в Graphics Design and Identity Front-End (HTML+CSS+JS+JQuery)
Основы 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. Ведь сейчас почти все процессы описываются информатикой. Эх… Нуи времена… Что же дальше?


Комментарии

Комментарии могут оставлять только зарегистрированные пользователи

Регистрация