Когда я* говорил… все остальные делали.
Теперь никто не знает чем отличается интерфейс от абстрактного класса, все хотят халявной пицци, программисты зажрались и все прочие беды…
Но это — работает — проекты строятся, задачи выполняются, деньги зарабатываются…
А я* — я* продолжаю говорить.
Так же не мало важным является одинаковое оформление блоков кода, разбиение длинных условий на несколько строк и использование отступов.
Согласитесь, читать такой код:
Код красивый
function()
{
$a = 1;
$b = 2;
$c = 3;
$sql = '
SELECT
*
FROM
tbl
WHERE
a = 1';
}
Код компактный
function(){
$a = 1;
$b = 2; $c = 3;
$sql = 'SELECT * FROM tbl
WHERE a = 1';
}
Более приятно, чем
Приятно может быть и первый, но хорошим компромиссом для такой ситуации имхо было бы все-таки
Код компромисный
function(){
$a = 1; $b = 2; $c = 3;
$sql = 'SELECT * FROM tbl WHERE a = 1';
}
Потому что первый тип кода приводит к тому, что частенько приходится пролистывать страницы. Код должен быть разумно компактен. Особенно учитывая моду последних лет, когда 4:3 мониторы скукожили до 16:10, а потом и до 16:9… или вообще сумашедшие 21:9 habrahabr.ru/post/145276/
Неизменяемые параметры не должны передаваться по ссылке.
Не используйте входные параметры в качестве рабочих переменных.
Метод должен быть защищен от плохих данных, которые могут нарушить его работу.
Если они большие, то можно и по ссылке. Пару мегабайт данных на фига пихать в функцию «напрямую»?
Если в функции 7 входных параметров, все из которых используются и сама функция небольшая, то переопределение может занять больше места/времени чем использование их как рабочих и привести след. разработчика в задумчивость.
Фактически это обязательно только в публичном методе. Приватный метод вполне имеет право полагаться на проверку этих данных перед ним. Иначе в цепочке вызовов может оказаться такой копипаст проверок, что жуть.
Очень просто.
Когда проект большой, нужно сделать что-то небольшое, а времени знакомиться со всеми гайдлайнами проекта нет, то… вполне можно ляпнуть getJuneStat вместсо принятого getJunStat, при чем если рядом нет кода в котором написано getJunStat, то Вы просто не заметите, что Вы белая ворона:)
Зачем может понадобится кэш на 60гб, особенно ввиду того, что на эти же 60гб можно поставить систему? То есть к чему огород с кэшем здесь, раз все равно в системе ссд и винт — так ставить систему на ссд, а винт использовать под файлопомойку.
В статье и ролике. Где красиво говорится о наноразработке используемой аэролайфом стоящей копейки, при этом тщательно создается впечатление, что аналогов вообще нет (ни одного упоминания!), что разработка их собственная (корни не указаны вообще!) и что стоит она копейки (в доказательство чего приведена цена абсолютно другого фильтра — хепа, чем рекламируемый — фк!).
Хотите всем показать, что вы тоже «в теме»?
Нет, хотим показать, что реклама должна быть честной.
«Эффективный нанофильтр придуманный компанией аэролайф стоимостью 250р» это одно, а «банальный фотокаталитический очиститель воздуха собранный в россии на базе западных разработок ценой в 4,000р» это совсем другое.
Нет, неправильно.
Если нам показывают что-то с заголовком «суперновые нанотехнологии», то мы как минимум ожидаем, что в этом же посте нам пояснят, что именно там супернового и нанотехнологичного, а не просто скажут что используется фотокаталитический фильтр которым сто лет в обед.
Что мы собственно и попросили сделать.
Почему Вы этот резонный вопрос заданный из любопытства называете «обсером» — вот эту логику хотелось бы понять.
Хепа по-сути просто специальная тряпка, а вся НАНОвость фильтра — в тубе.
Дык вот отсюда и недопонимание, т.к.
а) Хепа — тряпка, стоит 250р. Сколько будет стоить замена фотокаталитического фильтра — неясно, а они тоже не вечные — это вопрос ведь важный?
б) Непонятно в чем конкретно НАНОновость, фотокаталитические фильтры уже бог знает сколько времени используются и дайкином и прочими, в чем преимущество именно этих фильтров?
Это реклама что-ли?
250р стоит HEPA фильтр, а не «нано-фотокаталитический», а HEPA это просто антипылевой.
Сайт явно не нанотехнологичный, такое ощущение что на педальном приводе работает:)
На сайте сравнения воздухоочистителей нет… даже при желании выбрать — сделать это осознанно невозможно.
Верстка глючит, навигация невнятная, тот же «Аэролайф Нанолюкс» — попробуй найди.
Опять же возникает неотвеченный вопрос, если эти фотокаталитические (кстати фотокаталитические фильтры совсем не новость, они уже лет 5 минимум в daikin-ах в частности используются) такие крутые, то на фига в некоторых фильтрах этой же фирмы добавлены угольно-каталитические и электростатические, типа что бы убивать 120% бактерий?:)
p.s.: просьба не относиться к посту как а наезду, а разъяснить если есть возможность. Фильтрами пользуемся уже очень давно, т.к. к запахам неровно дышим. Пока что рулят только дайкины, но у них цена не айс и сами фотокалитические элементы на замену стоят как сам воздухоочиститель.
западные инвесторы, которые вкладывают деньги в локальные IT-проекты
Прямо таки все западные инвесторы и для любого ИТ проекта? amazon, ebay, twitter, groupon, facebook или даже банально habrahabr не подскажете на чем сделаны, на битриксе или друпеле?:)
По нашему опыту, выбор распространённой цмс крупными компаниями делается в следующих случаях:
а) Сайт абсолютно стандартный, где никаких исключений из правил не требуется.
б) Контора абсолютно бюрократизирована, свалить ответственность за выбор проще в случае известной цмс.
в) Абсолютно не важна скорость работы, т.к. большой посещаемости не будет и разница в затратах на железе в 1000% даже погоды не сделает.
В этих случаях выбор абсолютно оправдан и таких ситуаций безусловно процентов 90 минимум. Отсюда и впечатление, что «все западные большие инвесторы ...» (с)
Но это никак не отменяет оставшихся 10% случаев, где выбор велосипеда оправдан. Когда нужна скорость или когда проект нестандартный или когда и то и другое вместе. А если Вы хотите запулить уникальный стартапчик, то крайне сомнительно что какой-то из инвесторов будет в восторге от запуска его на какой-нибудь джумле, в которой на момент запуска будет 90% неродного кода, при чем будет жестко тормозить.
p.s.: И кстати, это один большой миф (и этот пост на хабре тому подтверждение), что то, что проект сделан на друпеле, никак не гарантирует легкость смены команды разработчиков сайта:) Два переезда таки равны одному пожару в любом случае.
пишут сами, иногда в модулях, порой прям в шаблоне, а нередко дописывая файлы, которые, по сути, являются ядром Drupal.
Хотя в Druapl из коробки есть возможность программировать прямо через веб-интерфейс… такие куски кода значительно проще обнаружить и обслужить.
Но у меня остается вопрос: зачем тогда вам, дорогие программисты, вообще нужен Drupal или другая CMS?
Тут есть минимум три варианта ответа, применение которых часто видим на практике
1) Если речь о серьезном подходе. Решения друпела «из коробки» нередко бывают мягко говоря не быстрыми, если речь идет о конкретной задаче. Модули кэширования опять же в не самых простых ситуациях не особо спасают. А разница между 0.5с и 2с в загрузке сайта нередко более важна, чем простота обслуживания и быстрота запуска сайта.
2) Если речь о фанате заказчике желающем «сайт на drupal», а не на фреймворке. Зачастую «проще дать, чем объяснить почему не хочешь». Вот и вкрячивают свои куски кода всюду, лишь бы в результате висел «лейбл» друпел.
3) Если речь о не стандартной с точки зрения друпела задачи. Друпел может применяться для тех задач что им решаются великолепно, но вместе с тем впихивать в его рамки те задачи, которые великолепно им не решаются — было бы странно, поэтому делают гибрид.
Теперь никто не знает чем отличается интерфейс от абстрактного класса, все хотят халявной пицци, программисты зажрались и все прочие беды…
Но это — работает — проекты строятся, задачи выполняются, деньги зарабатываются…
А я* — я* продолжаю говорить.
$a = 1; $b = 2; $c = 3;
$sql = 'SELECT * FROM tbl WHERE a = 1';
}
Потому что первый тип кода приводит к тому, что частенько приходится пролистывать страницы. Код должен быть разумно компактен. Особенно учитывая моду последних лет, когда 4:3 мониторы скукожили до 16:10, а потом и до 16:9… или вообще сумашедшие 21:9 habrahabr.ru/post/145276/
Если они большие, то можно и по ссылке. Пару мегабайт данных на фига пихать в функцию «напрямую»?
Если в функции 7 входных параметров, все из которых используются и сама функция небольшая, то переопределение может занять больше места/времени чем использование их как рабочих и привести след. разработчика в задумчивость.
Фактически это обязательно только в публичном методе. Приватный метод вполне имеет право полагаться на проверку этих данных перед ним. Иначе в цепочке вызовов может оказаться такой копипаст проверок, что жуть.
Когда проект большой, нужно сделать что-то небольшое, а времени знакомиться со всеми гайдлайнами проекта нет, то… вполне можно ляпнуть getJuneStat вместсо принятого getJunStat, при чем если рядом нет кода в котором написано getJunStat, то Вы просто не заметите, что Вы белая ворона:)
а) Если смотреть на ТВ, то без вариантов.
б) Если смотреть на увеличенной скорости, то опять же без вариантов.
Нет, хотим показать, что реклама должна быть честной.
«Эффективный нанофильтр придуманный компанией аэролайф стоимостью 250р» это одно, а «банальный фотокаталитический очиститель воздуха собранный в россии на базе западных разработок ценой в 4,000р» это совсем другое.
Если нам показывают что-то с заголовком «суперновые нанотехнологии», то мы как минимум ожидаем, что в этом же посте нам пояснят, что именно там супернового и нанотехнологичного, а не просто скажут что используется фотокаталитический фильтр которым сто лет в обед.
Что мы собственно и попросили сделать.
Почему Вы этот резонный вопрос заданный из любопытства называете «обсером» — вот эту логику хотелось бы понять.
а) Хепа — тряпка, стоит 250р. Сколько будет стоить замена фотокаталитического фильтра — неясно, а они тоже не вечные — это вопрос ведь важный?
б) Непонятно в чем конкретно НАНОновость, фотокаталитические фильтры уже бог знает сколько времени используются и дайкином и прочими, в чем преимущество именно этих фильтров?
250р стоит HEPA фильтр, а не «нано-фотокаталитический», а HEPA это просто антипылевой.
Сайт явно не нанотехнологичный, такое ощущение что на педальном приводе работает:)
На сайте сравнения воздухоочистителей нет… даже при желании выбрать — сделать это осознанно невозможно.
Верстка глючит, навигация невнятная, тот же «Аэролайф Нанолюкс» — попробуй найди.
Опять же возникает неотвеченный вопрос, если эти фотокаталитические (кстати фотокаталитические фильтры совсем не новость, они уже лет 5 минимум в daikin-ах в частности используются) такие крутые, то на фига в некоторых фильтрах этой же фирмы добавлены угольно-каталитические и электростатические, типа что бы убивать 120% бактерий?:)
p.s.: просьба не относиться к посту как а наезду, а разъяснить если есть возможность. Фильтрами пользуемся уже очень давно, т.к. к запахам неровно дышим. Пока что рулят только дайкины, но у них цена не айс и сами фотокалитические элементы на замену стоят как сам воздухоочиститель.
По нашему опыту, выбор распространённой цмс крупными компаниями делается в следующих случаях:
а) Сайт абсолютно стандартный, где никаких исключений из правил не требуется.
б) Контора абсолютно бюрократизирована, свалить ответственность за выбор проще в случае известной цмс.
в) Абсолютно не важна скорость работы, т.к. большой посещаемости не будет и разница в затратах на железе в 1000% даже погоды не сделает.
В этих случаях выбор абсолютно оправдан и таких ситуаций безусловно процентов 90 минимум. Отсюда и впечатление, что «все западные большие инвесторы ...» (с)
Но это никак не отменяет оставшихся 10% случаев, где выбор велосипеда оправдан. Когда нужна скорость или когда проект нестандартный или когда и то и другое вместе. А если Вы хотите запулить уникальный стартапчик, то крайне сомнительно что какой-то из инвесторов будет в восторге от запуска его на какой-нибудь джумле, в которой на момент запуска будет 90% неродного кода, при чем будет жестко тормозить.
p.s.: И кстати, это один большой миф (и этот пост на хабре тому подтверждение), что то, что проект сделан на друпеле, никак не гарантирует легкость смены команды разработчиков сайта:) Два переезда таки равны одному пожару в любом случае.
Тут есть минимум три варианта ответа, применение которых часто видим на практике
1) Если речь о серьезном подходе. Решения друпела «из коробки» нередко бывают мягко говоря не быстрыми, если речь идет о конкретной задаче. Модули кэширования опять же в не самых простых ситуациях не особо спасают. А разница между 0.5с и 2с в загрузке сайта нередко более важна, чем простота обслуживания и быстрота запуска сайта.
2) Если речь о фанате заказчике желающем «сайт на drupal», а не на фреймворке. Зачастую «проще дать, чем объяснить почему не хочешь». Вот и вкрячивают свои куски кода всюду, лишь бы в результате висел «лейбл» друпел.
3) Если речь о не стандартной с точки зрения друпела задачи. Друпел может применяться для тех задач что им решаются великолепно, но вместе с тем впихивать в его рамки те задачи, которые великолепно им не решаются — было бы странно, поэтому делают гибрид.