SKY / WINGS /
FIRST8

дочерние связи:
CONF   MEMORY   TRACE   SQL   PREF
Итак, каким должен быть код первого крыла, который работает со всех точек входа (front (включая ajax), admin (включая ajax), cron и может быть еще какие-то, хотя наиболее частые - эти три)? Хороший ответ дало бы абстрактное соревнование, сравнение с другими источниками кода для повторного использования. Параметры соревнования такие: сумма кода в байтах, количество вызовов функций и классов при отображении страниц, простота восприятия, возможность развития кода проекта в любом направлении, быстродействие кода, скорость написания на этом коде функционала соревнования, обеспечение требуемого уровня безопасности, возможность использования кода не мануальными средствами, т.е. например, сравнительная трудность использования кода при создании визуальных средств программирования или других средств, что подразумевает уровень формализации. Всего 7 критериев, все они важны и хотелось бы иметь лучшие параметры.

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

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

Простота восприятия - очень важный параметр. Например, вы изучаете новый для себя Framework для создания веб-приложений, если он кажется вам сложным (или не эффективным, т.е. что-то сделано некрасиво) то он и плох. Вам нужно много времени, чтобы изучить его и привыкнуть к неэффективности, часто даже уже зная код, нужно тратить больше времени в сравнении с равноценным в другом Framework. Конечно, новичку в веб-программировании может любой код казаться сложным. Но это не имеет отношения к абстрактной сравнительной сложности, чем восприятие проще тем лучше. Если восприятие легкое, - вы "король", все делаете быстро и качественно.

Возможность развития кода проекта в любом направлении, т.е. гибкость кода первого крыла на первый взгляд лучше иметь максимальную, но это не так. Никто же не пишет параноидально гибкий код, все равно любой Framework имеет определенный уровень гибкости, а значит нужно иметь балансированное значение гибкости между простотой восприятия + скоростью работы кода. Уровень гибкости следует выбирать между 70-90%, если считать что на 100% гибком коде можно написать любой сайт в Интернете существующий на данный момент. Даже если в некотором проекте понадобится функционал, которого нет в коде с гибкостью 65%, кто сказал что этот код плох? Правильно взять более гибкий фреймворк? Если вы "король" - исправьте одну строку в коде первого крыла и оставайтесь королем!

Быстродействие кода - чем больше тем лучше, здесь вопросов нет, в отличие от абзаца выше.

Скорость написания функционала соревнования - аналогично, чем быстрее тем лучше.

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

В заключении этого поста, хотелось бы сказать, что было бы хорошо, чтобы код первого крыла вообще не нужен был бы, но вместо него функционал был внедрен в PHP. Ведь, если язык программирования создается для веб-приложений, то он должен быть удобен и он должен отвечать реальным нуждам тех кто им пользуется. Но это вероятно, потенциально возможно лишь отчасти, так как код первого крыла гармонично организован с javascript, css, БД, а это уже не PHP. Смотрите узел HARMONIC. Код первого крыла, по сути просто дополняет возможности PHP умелыми функциями-обертками (по сравнению с native функциями PHP) и реализует функционал для часто встречающихся простых моделей при построении веб-приложений. И самое последнее: описанные принципы следует применять к любому коду КПИ, но код первого крыла наиболее часто используется, поэтому максимальные усилия контроля на соответствия вышеописанным принципам, следует уделить коду первого крыла.
опубликовано ENERGY - 18 Sep 2015 13:33 GMT
последнее редактирование - 10 Oct 2015 10:48 GMT
комментировать