דָּוִדdavidov777 (daviddavidov777) wrote,
דָּוִדdavidov777
daviddavidov777

Скачать фильм Аватар

Мне очень часто приходится проводить собеседования, нанимая на работу PHP-программистов. 2-3 человека в день — это вполне нормально, хотя и на грани выносливости.

Все кандидаты разные, кто-то просто великолепен, кто-то похуже. Но у тех, кто похуже, всегда одни и те же ошибки.

Во-первых они совершенно не интересуются развитием языка, на котором пишут, и вопрос «А что нового в PHP 5.3» ставит их в тупик, а уж предложение порассуждать на тему «Чтобы Вы добавили в будущие версии языка» — просто пугает.

Во-вторых они категорически не представляют, что PHP может быть хоть чем-то кроме «скриптов для сайтов». Особенно печально это в свете того, что на работе им придется заниматься далеко не сайтами и даже скорее всего не сайтами.

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

Таким кандидатам и посвящается этот топик. С уважением к их нелегкой доле (а быть программистом на самом деле непросто) и с надеждой, что он подтолкнет их вперед по пути самосовершенствования.

Что мы будем делать?

Давайте попробуем сделать интерпретатор Форта на PHP!

Форт меня всегда манил, как далекая галактика из антиматерии. Стек, слова в словаре, обратная польская нотация… Это только кажется сложным, но на самом деле очень просто, зато здорово «просветляет» и расширяет кругозор.

Давайте сделаем наше приложение консольным, никаких браузеров и серверов. Давайте писать его на PHP 5.3, стараясь использовать язык на 100%. И, конечно же, попробуем изначально сделать так, чтобы пришедшие после нас не повесились от нашего кода в первый же день.

Архитектура приложения

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

Возьмем в качестве корневого пространства имен для нашего приложения \FORTH. Основные классы Форт-машины положим в \FORTH\SYSTEM, а исключения будем располагать в \FORTH\EXCEPTIONS, которое само по себе тоже разделим на несколько, например — \FORTH\EXCEPTIONS\SYSTEM для исключений, возникающих в самой Форт-системе и, скажем, \FORTH\EXCEPTIONS\STACK для исключительных ситуаций, связанных со стеком.

В соответствии с 2 принципом архитектуры будем пространства имен однозначно преобразовывать к директориям в ФС, а имена классов — к именам файлов в этих директориях.

Получается примерно такой код:

Скачать фильм Аватар</a> и мне понраилось.

помимо ава Скачать фильм 2012 можно так же!
Tags: Скачать фильм Аватар
Subscribe

  • New age.................

    Заниматься еще больше торговлей!Понять куда пойдет тренд. Учиться , как можно больше задавать как можно больше вопросов.не терять время на всякую…

  • music

  • мысленное масленное

    ищу выход из ситуации которая волнует меня уже 2 года. Уверен уже в ближайшее время будет найден выход.Независимо от результата, у меня не остается…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments