Последние комментарии

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


игорь

Михаил,поправьте ошибку "что на поле мы Apple закрывают глаза". Раза три прочитал пока не дошло.


Андрей

Спасибо, все заработало! -)


Владимир

Ну за Microsoft беспокоится, думаю, не стоит, это их стандартная политика, выпустить что-то новое, посмотреть как отреагировали и усовершенствовать. Так было с 95-98, 2000-XP, Vista-7, теперь 8-.. Думаю, то что они не продают windows 8 - абсолютно нормальная ситуация, которую, я уверен, они предвидели. Просто не надо, воспринимать все это как поражение. Ну не вышла Microsoft в лидеры. Так это не причина для паники, и не стоит думать, что это навсегда. Рынок очень молод и не освоен, то что на выпускали Apple и Google далеко от идеала, и я, например, так и не смог понять, зачем мне свой мобильник (Nokia) заменить на смартфон. Почему-то, мне кажется все будет в точности как с ПК. Android слишком простенькая, а XOS только для яблочных телефонов. Как только смартфоны и планшеты достигнут уровня удобства ПК, к Android и XOS пропадет весь интерес. Но это конечно только мое мнение (приписка, что бы ненавистники Microsoft не начали меня судить :) ). Уверен, что такие гиганты, как Apple и Google что-нибудь придумают, просто мне кажется они не закладывают в свои операционки потенциал на будущее. Как-то у них все однообразно, стабильно.


Предоставить условия это мала сказано. Не 1-н программист не раскажет и не скажет что он может. Темболее в Русской армии.  


яя

нужна ваша помощь


Михаил Фленов

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

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

Пример, у меня на работе приложение сидит на серверах за сетевым экраном, балансером нагрузки и проксиком. Чтобы получить IP адрес нужно лезть в одно поле запроса. На рабочих же машинах IP будет в другом поле. В приложении в нескольких раз склонировали код типа:

if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
используем Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
else
используем Request.ServerVariables["REMOTE_ADDR"];

И вот подобных клонов несколько. А ведь так просто написать функцию GetIPAddress() и использовать ее везде, где нужен IP адрес. Проще сопровождать и меньше шансов допустить ошибку новым программерам, которые не знают о такой специфике наших рабочих серверов, если где-то в недрах MS или проксика произошли изменения и поле REMOTE_ADDR поменялось на VERYREMOTE_ADDR, код обновляется магическим образом за секунды.


Overdrive

А чем так плох копипаст? Аргументируйте.
Да и универсальную функцию делать сложнее и дольше. И она нуждается в лучшей отладке.


Knops

Закон кучности редких событий в действии (распределение Пуассона) :) Или беда не приходит одна.


Kastor

Новая клава покруче будет!


Михаил Фленов

Ну я не знаю, на сколько системщик хороший. Знаю, что он спросил нужна ли мне информация или нет. Мне больше нужен был мой новый компьютер и Windows 7, потому что сейчас я пишу под MVC, который не поддерживается в XP. Возможно, что если бы я сказал, что информацию нужно спасти, он бы мучался с ней.


О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне