Если нельзя, но очень хочется, то нужно обязательно и ничего в мире не стоит того, чтобы делать из этого проблему!


Интересна Java? Кликай по ссылке и изучай!
Если тебе полезно что-то из того, чем я делюсь в своем блоге - можешь поделиться своими деньгами со мной.
с пожеланием
столько времени читатели провели на блоге - 
сейчас онлайн - 

пятница, 17 октября 2008 г.

Есть хорошие а есть плохие...

"Есть люди хорошие - алмазы, которых можно гранить и получать брильянты. А есть камни, с которых ничего не получится."

Я попробую не согласиться.

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

Это конечно утрирую (что я люблю очень). Но тут есть нечто. Нам кажется что это безнадежный человек, что от него толку нет, он злой, плохой, еще что-то... Но ведь это только наша оценка его. Для кого-то этот человек может быть идеалом. Может его любят дети. А может это мы я плохой и не понял его.

Знаю точно, что на более близких расстояниях людей узнаешь лучше и часто мнение меняется кардинально. А если не поменялось, значит в голове у нас не та программа.

Попробуйте подойти к какой-то сварливой бабке, изначально представив что вы ее любимый внук. Очень любимый. Это необходимо до мозга костей прочувствовать. очень прочувствовать. И потом подойти к ней. Она в миг перестанет быть сварливой. Я еще слова не сказал, а она уже улыбается. Все просто. Улыбка на мне. Улыбка искренняя...

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

А все управляется программой. Некогда плохой человек становится хорошим а хороший плохим...

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

Мысли решают все. А раз так, то и людей плохих не бывает. Есть только наша оценка этим людям. И кто тогда плохой?

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

Любой человек - вселенная, стоит только поверить.

суббота, 11 октября 2008 г.

Книга

Оказывается я люблю книги читать. Я этого не знал. Но читаю их ка-то не так как принято.

Отношусь к ним с опаской, бо книга это секрет, это не просто так – то, что там написано - тебя меняет. Нужно сознательно подходить к этому делу.
С детства я вообще прочитал мало книг, штук 10 :) не больше. Одну пришлось. Другую на море. И еще была зеленая :). Шучу... Самая первая – приключение Карика и Валли. Интересно...

Так вот книги. Читаю только то, что интересно. Читаю только то, где нахожу свои мысли. Читаю только по чуть. Пробовать надо и обдумывать что прочитал. «Залпом» читают - кажется, просто люди не понимают как пользоваться книгами. Каждая страница книги (не имею ввиду книгу, которая написана для заработка) - это часть души автора ее. Отношение должно быть соответствующее. Что автор чувствовал, когда писал? Зачем он это писал? Что я попробую уже сегодня?
Да и перечитывать надобно.

Вообще люблю черкать в книге. В детстве все учили что книги не для этого, а я любил в них рисовать. Просто брал и дорисовывал то, что считал нужным. Сейчас же просто подчёркиваю интересные места, веселые места, важные места, пишу заметки на полях. Потом такую книгу легче переглядывать....

А еще люблю выписывать цитаты. Особенно когда приводится какая-то метафора.

А еще люблю не читать а слушать. Аудиокниги. Можно закрыть глаза и представить себе все, что хочешь. В твоем распоряжении все чувства кроме слуха. Когда же читаешь – основное что ты видишь (чем воспринимаешь 90% все информации) – зрение занято. Вообще считаю неэффективным печатный вариант. Но приходится :) Но благо есть такие же любители как и я и инет кишит аудиокнигами....

Вроде все по книгам :).

четверг, 9 октября 2008 г.

Глава "Метафора,...". Совершенный код. С. Макконнелл.

"Терминология компьютерных наук - одна из самых красочных" Стив Макконнелл

"Поведения аналогий часто приводит к важным открытиям. Сравнив не совсем понятное явление с чем-то похожим, но более понятным, вы можете догадаться как справиться с проблемой. Такое использование метафор называется "моделированием"" Стив Макконнелл

"Не стоит недооценивать важность метафор. Метафоры имеют одно неоспоримое достоинство: описываемое ими поведение предсказуемо и понятно всем людям. Это сокращает объем ненужной коммуникации, способствует движению взаимопонимании ускоряет обучение. По сути метафора - это способ осмысления и абстрагирования концепций, позволяющий думать в более высокой плоскости и избегать низкоуровневых ошибок" Фернандо Дж. Корбати

"Сегодня почти невозможно найти человека, считающего, что Солнце вращается вокруг земли. Столь же трудно представить программиста, который бы думал, что все данные можно рассматривать как последовательный поток карт. После опровержения старых теорий трудно понять, как кто-то когда-то мог в них верить" Стив Макконнелл

"От того, насколько хорошо вы понимаете метафоры, зависит и ваше понимание разработки ПО" Стив Макконнелл

"Метафора, характеризующая разработку ПО, больше похожа на прожектор, чем на дорожную карту. Она не говорит, где найти ответ - она говорит, как его искать. Метафора - это скорее эвристический подход, а не алгоритм" Стив Макконнелл

"Вот алгоритм, позволяющий добраться до чьего-то дома: проезжайте по шоссе 167 на Юг до города Пюиолап. Сверните на аллею Сауз-Хилл, а дальше 4,5 мили вверх по холму. Поверните у продуктового магазина направо, а на следующем перекресте - налево. Доехав до дома 714, расположенного на левой стороне улицы, остановитесь и входите из автомобиля.
А эвристическое правило может быть таким: найдите наше последнее письмо. Езжайте в город, указанный на конверте. Оказавшись в этом городе, спросите кого-нибудь, где находится наш дом. Все нас знают - кто-нибудь с радостью вам поможет. Если никого не встретите, позвоните нам из телефона-автомата, и мы за вами приедем" Стив Макконнелл

"Со временем тот, кто использует метафоры, лучше поймет программирование и будет быстрее создавать более эффективный код, чем тот, кто их не использует" Стив Макконнелл

"Планируйте выбросить первый экземпляр программы: вам в любом случае прийдется это сделать" Фред Брукс
"Если вы планируете выбросить первый экземпляр программы, вы выбросите и второй" Крейг Зеруни

"... не лучший совет в мире разработки ПО, где крупная система по стоимости уже сравнилась с 10-этажным офисным зданием или океанским лайнером." Стив Макконнелл

"Инкрементное проектирование, конструирование и тестирование - одни из самых лучших концепций разработки ПО" Стив Макконнелл

"....вы сначала создаете простую версию системы, которую можно было бы запустить....... она должна быть просто скелетом, достаточно прочным, чтобы поддерживать реальную систему по мере ее разработки.... Такая система похоже на песчинку с которой начинается образование жемчужины" Стив Макконнелл

"Для построения метровой башни требуется твердая рука, ровная поверхность и 10 пивных банок, для башни же в 100 раз более высокой недостаточно иметь в 100 раз больше пивных банок. такой проект требует совершенно иного планирования и конструирования." Стив Макконнелл

"За ошибку, допущенную при создании простого объекта, приходится расплачиваться лишь потраченным временем и, возможно некоторым разочарованием" Стив Макконнелл

"Перемещение стены на 15 см обойдется дорого не потому, что при этом будет потрачено много гвоздей, а потому, что вам прийдется оплатить дополнительное время работы строителей. ... Материалы, необходимые для создания программного продукта, стоят дешевле, чем стройматериалы, однако затраты на рабочую силу в обоих случаях примерно одинаковы. Изменения формата отчета обходится ничуть не дешевле, чем перемещение стены дома, потому что главным компонентом затрат в обоих случаях является время людей" Стив Макконнелл

"Какие еще параллели можно провести между сооружением дома и разработкой ПО? При возведении дома никто не пытается конструировать вещи, которые можно купить. Здравомыслящему человеку и в голову не прийдет самостоятельно разрабатывать и создавать стиральную машину, холодильник, шкафы, окна и двери, если все это можно приобрести" Стив Макконнелл

"Все крупные здания создаются с большим запасом прочности; лучше заплатить на 10% больше за более прочный материал, чем рисковать крушением небоскрёба" Стив Макконнелл

""Перемещение несущей стены на 15 см обходится гораздо дороже, чем перемещение перегородки между комнатами" Стив Макконнелл

"По экономическому масштабу некоторые программные проекты сравнимы с возведением "Эмпайр Стейт Билдинг", и контролироваться они должны соответствующим образом" Стив Макконнелл

"Люди, эффективно разрабатывающие высококачественное ПО, многие годы посвятили сбору методов, хитростей и магических заклинаний. Эти метода - не правила, а аналитические инструменты. Хороший рабочий знает предназначение каждого инструмента и умеет эффективно его использовать. Программисты не исключение" Стив Макконнелл

"....это печально, потому что, если вы станете использовать только одну методологию, вы увидите весь мир в терминах этой методологии" Стив Макконнелл

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

"Метафоры не исключают друг друга. Используйте комбинацию метафор, наиболее эффективную в вашем случае" Стив Макконнелл

"Только благодаря метафорам я понял многое из того что мне было сложно понять. Объяснять кому-то что-то используя метафоры - одно удовольствие. А вот каждый раз искать другую метафору - очень интересная развивающая игра. Метафора, это сила" Собственного сочинения :)

Попросили или потребовали?

Просьба, когда просят и все. Просьба может остаться невыполненной. От этого в момент отказа не делают никаких действий. Бывает расстраиваются. И все.

Требование, когда оно подается как просьба очень легко заметить. Это просьба которую просят часто и уже привыкли к тому что просьба делается. Если же ее не сделать, то сразу становится ясно что это не какая не просьба а давно запланированное действие. И отказ воспримут, очевидно, в штыки.

Чего делаю с такими просьбами? Отказываюсь, даже если сделать мне это не составляет труда. Отвыкать пора. Когда просьба будет снова просьбой тогда нет проблем.

Это касается и "милый, вынести, пожалуйста, мусор" тоже. В результате отказа слышно "ну я ведь попросила". Ах раз попросили, так все? Оплачено? Нетушки.

Сам адекватно воспринимаю отказ в просьбе. Когда необходимо потребовать - лучше сделать это прямо.

среда, 8 октября 2008 г.

Разлука

Вчера столкнулся. Друг мой рассказал мне, что он расстался со своей девушкой, с которой вместе были 4 года. Совета не спрашивал. Просто сказал.

Это не первый раз. Благо моя жизнь не имела таких поворотов, но мне все равно есть что сказать. Дайте порассуждать.

4 года, это довольно большой отрезок жизни. Там было многое. Там было хорошее. Думаю его было больше, а даже если нет, то спустя такое время легче вспоминать только хорошее. Потому и сложно. И неясно что дальше.

Но жалеть не стоит. Ведь этот большой срок "оплачен". Он не был наполнен мучениями для одной какой-то цели, которая в результате не была достигнута. Да, конечно были планы, которые остались нереализованными, но ведь многое было достигнуто. И думаю с удовольствием.

Теперь время отдохнуть друг от друга. Время воспользоваться возможностью сделать то, что не удавалось все эти 4 года. Сделать это самому. Время покажет. Если судьба быть вместе, то так и будет.

Самое сложное но переживание и страх стоит искоренить. Жить дальше. В жизни еще много всего есть. Все к лучшему. Изменение все-таки.

Письмо тому, кто поймет

Привет Тьерк,

Сегодня прошёл отличный день. Мы с Саней программировали парно. Получили массу удовольствия. Иногда смеялись как дети, чем вызывали непонимающие взгляды у окружающих. Жаль, но пока еще не все понимают прелестей парного программирования. Ничего, вскоре это пройдет. Багфиксинг шел очень эффективно. Когда кто-то один глох, то второй сразу забирал клавиатуру и показывал свой вариант решения. При правке внесли минимум новых ошибок, которые тут же исправили. Надеюсь, что ввод демо данных будет теперь более удобным для тебя.
Думаю, странным окружающим казалось то, что очень важную задачу (сейчас самую важную в компании) мы решали с улыбками на лице и совсем не напрягаясь. А зачем? Стресс порождает новые ошибки. Давление мешает думать. Позитив! А задачу выполнили даже быстрее чем ожидали.

Что касается твоего вопроса. Что сказать? Я участвовал в различных (если не во всех) группировках, когда либо живших у нас и за его пределами. Наверное единственная группировка, где все серьезно и не очень интересно это менеджеры проектов. Но я это обязательно поправлю. Всем нам необходимы положительные эмоции.

Мной движет любопытство. Все, везде и в любое время. Мой самый любимый вопрос "почему?". В этом я не далеко ушел из детства. Этот вопрос, примененный ко всему что только можно придумать заставляет задуматься. Не комфортно ходить с вопросом, на который нету ответа. Ответы приходят позже. Приходят целыми пачками. И все становится яснее и в тот же момент еще более непонятным. Один ответ влечет за собой на порядок больше вопросов...

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

В моей эволюции было много стадий.
Стадия узнавания и личного роста.
Стадия "давайте я расскажу как правильно", которая не существовала без критики.
Потом последовал кризис в результате которого я понял что никому ничего не надо и дела наши не так уж хороши, как казалось раньше. Это был новый год. Ровно год назад. Я предвидел то, что сейчас происходит в пои.
После выхода из кризиса я сильно увлекся психологией. Перечитал еще раз все твои письма. И в одном из них нашел ссылку на книгу "От хорошего к великому". Перечитал ее сразу. Многое понял.
После последовала стадия "спамерства", когда я просто высылал то, что по моему мнению помогло бы кому-то так же как и мне. В этой стадии мы вместе с Валерой придумали форум. В первый же месяц форум превратился в мою записную книгу, где я просто записывал идеи и мысли. Обсуждение вскоре заглохло. Наш рост не прекратился а еще более устремился вверх. Разделение стало все очевиднее. те кто хотел - делал и учился, те кто работал - работа и дальше без каких либо изменений. Тем временем компания росла.
Сейчас можно сказать что наша компания переживает кризис, который я переживал год назад в одиночку. Я знаю чем это закончится. Конечно же, я ожидаю лучшего. Потому как мысли управляют реальностью. Мысли делают будущее.

После всего этого ты больше знаешь про меня. И мои мысли.
Какой период сейчас? Время собирать камни. Я очень горд за себя и своего напарника. Нас выбрали в самый ответственный момент. Мы делаем все, чем научились за то время пока... Уверен демо мы сделаем. Даль что решение о перераспределении команды пришло так поздно.

Какой будет период в будущем? Лидерство 5 уровня: нет критике, нет поучениям, нет спаму. Действие, которого невидно. Мысли и идеи, которые общие. Менеджмент, который учится сам. Проекты, приносящие удовольствие. Изменения, которые незаметные. Рост, без принуждения.
Сам собираюсь еще больше углубиться в психологию, т.к. "программирование на 85% это общение с коллегами". Остальные 15% само собой разумеется - расти еще есть куда. Если оценить мои знания по 10 бальной шкале, то я думаю что где-то недалеко возле нуля. Опыт. Только опыт и практика.

Группы. Что делать с ними? Думаю группы сами организуются и сами решат что им делать, главное дать такой шанс. Дать его. Шанс реализоваться и показать себя. И пускай сразу не ясно будет какую пользу это принесет. Уверен, что там где реализованные люди, занимающиеся своими "хочу" - там есть все. Сложно? Долго? Но мы ведь никуда не торопимся?

Из людей, разделяющих со мной эту идею я бы выделил в первую очередь Валеру. Это мой друг, которому я стараюсь помогать во всем. Есть еще пару человек, которые вот-вот начинают понимать. Это все очень необычно. У нас много стереотипов мешающих жить и думать своими мыслями. Выходить из этого тумана. Другого не дано.

Как не хотелось говорить про это, но прийдется. Множество проблем и непонимания из за самой грязной вещи - денег. Они плохо мотивируют, но их отсутствие действует противоположно. Иногда мне кажется что на меня смотрят как на дурака.

Что еще могу сказать? Большое спасибо тебе за то что ты пробиваешься к нашим сердцам и мыслям. Я тебя понимаю. Ответов на твои письма очень мало. Иногда вообще нет. Как сейчас помню карикатуру с "что-то надо делать - на счет раз, два, три". Но любое действие откладывается. Вода камень точит. И за большой период виден ощутимый результат. Правда мы его не замечаем, потому что каждый день изменения незаметны. А вот для окружающих виден прорыв. Так, что все идет хорошо.

Удачи тебе и еще больше терпения. И большое спасибо.

С уважением и пониманием, Саша.

Глава "Отладка". Совершенный код. С. Макконнелл.

"Отлаживать код вдвое сложнее, чем писать. Поэтому, если при написании программы вы используете весь свой интеллект, вы по определению недостаточно умны, чтобы ее отладить" Брайан Керниган

"Отладка - это средство для крайних случаев" Стив Макконнелл

"Главный Закон Контроля Качества ПО: повышение качества программы снижает затраты на ее разработку" Стив Макконнелл

"Нет нужды выбирать между качеством, стоимостью и быстротой - они идут рука об руку" Стив Макконнелл

"О чем говорит наличие дефекта? ... о том, что вы не полностью понимаете программу. ... Если вы не до конца понимаете свои указания компилятору, еще чуть-чуть, и вы просто начнете пробовать все, что придет в голову, пока что-то не сработает, т.е. начнете программировать методом проб и ошибок" Стив Макконнелл

"Вам ненужно учиться исправлять дефекты - вам нужно знать, как их избегать" Стив Макконнелл

"Обнаружив ошибку, спросите себя, как и почему вы допустили ее. Как вы могли найти ее быстрее? Как ее можно было предотвратить? Содержит ли код другие подобные ошибки? Можно ли их исправить до того, как они приведут к проблемам?" Стив Макконнелл

"К сожалению, в вузах никогда не рассматриваются принципы отладки" Стив Макконнелл

"Совет: "Для нахождения" дефектов включайте в код команду печати". Это не адекватный уровень" Стив Макконнелл

"Поиск эффектов, основанный на гадании. Для нахождения дефекта разбросайте по программе случайным образом команды печати и изучите выходные данные. Если при помощи команд печати не удается найти дефект, попробуйте изменить тот или иной фрагмент - может, что и сработает. .... Запаситесь колой и леденцами .......... ночь будет долгой" Стив Макконнелл

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

"...если вы полагаете что ошибок в вашем коде нет, то найти их еще труднее" Стив Макконнелл

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

"Отладка программы, основанная на размышлении о проблеме, гораздо эффективнее и интереснее, чем отладка с использованием глаз тритона и помета летучей мыши" Стив Макконнелл

"Лучшие программисты отлаживают программы в 20 раз быстрее, чем их менее квалифицированные коллеги, не гадают, как исправить дефекты" Стив Макконнелл

"Стабилизация ошибки обычно не ограничивается нахождением теста, приводящего к ошибке. Она предполагает упрощение теста до тех пор, пока не будет получен самый простой тест, все еще приводящий к ошибке" Стив Макконнелл

"Если найти причину дефекта не удается, возможно, это обусловлено низким качеством кода" Стив Макконнелл

"Используйте разные инструменты.....Правильный инструмент способен делать трудную задачу простой" Стив Макконнелл

"Воспроизведите ошибку несколькими способами" Стив Макконнелл

"Используйте "Мозговой штурм" для построения нескольких гипотез.... просто придумайте за несколько минут максимальное число гипотез" Стив Макконнелл

"Классы, которые были дефектными раньше, более подвержены ошибкам" Стив Макконнелл

"Проверьте код, который был изменен недавно" Стив Макконнелл

"Отладка будет легкой, если вы будете добавлять элементы в систему по одному за раз" Стив Макконнелл

"Обсудите проблему с кем-то другим. Некоторые программисты называют это "отладочной исповедью" ..... Привет, Дженифер, у тебя есть свободная минутка? У меня проблема. Вот этот список сотрудников должен быть отсортирован, но некоторые фамилии выводятся в неверном порядке. Однако во второй раз они сортируются правильно. Чтобы узнать, не связана ли проблема с вводом новых фамилий, я добавил несколько новых записей, но все они были выведены правильно. Я знаю, что список должен быть отсортирован уже при первом запуске программы, потому что фамилий сортируются дважды: при вводе и при сохранении... подожди... нет, при вводе они не сортируются. Все верно. При вводе их место в списке определяется лишь приблизительно. Спасибо, Дженифер, ты мне очень помогла. Дженифер не сказала ни слова....." Стив Макконнелл

"Отдохните от проблемы. Пусть проблемой займется ваше подсознание" Стив Макконнелл

"Отладка методом грубой силы...... часто игнорируют....... - полный обзор проекта и/или кода дефектного фрагмента. - выбрасывание фрагмента кода и его повторное проектирование/кодирование с нуля. - выбрасывание всей программы и ее повторное..... - компиляция кода с полной отладочной информацией. - компиляция кода на самом строгом уровне диагностики .... - блочное тестирование нового блока в изолированном состоянии. .............." Стив Макконнелл

"Игрок, живущий в каждом из нас, скорее выбрал бы рисковый подход, позволяющий обнаружить дефект за пять минут, а не надежную методику, непременно приводящую к нахождению дефекта за пол часа. Однако это рискованное дело: если пятиминутный подход не сработает, вы начинаете упрямиться. Обнаружение дефекта становится делом принципа, и вы впустую тратите часы, а потом дни, недели, месяцы...." Стив Макконнелл

"Как часто вы тратили два часа на отладку кода, на написание которого уходило только 30 минут? ТАкое распределение времени трудно признать разумным, и вам следовало бы отлаживать не плохой код, а вообще переписать его" Стив Макконнелл

"Если вы все же решаете попробовать быстрый способ отладки, ограничьте его применение определенным временем. По истечении этого срока смиритесь с тем, что дефект не так прост, как вам казалось сначала, и используйте трудный путь" Стив Макконнелл

"Сложной частью отладки является поиск дефекта. Устранить его легко. Однако, как часто бывает, из-за этой самой легкости устранение одних дефектов создает благоприятные условия для внесения других" Стив Макконнелл

"Прежде чем браться за решение проблемы, поймите ее" Стив Макконнелл

"Не ограничивайтесь пониманием проблемы - поймите программу" Стив Макконнелл

"Расслабьтесь. Отдыхайте, пока правильность решения не станет очевидной. Не поддавайтесь соблазну сэкономить время, обычно это приводит к обратному результату" Стив Макконнелл

"Сохраняйте первоначальный исходный код" Стив Макконнелл

"Устраняйте проблему а не ее симптомы" Стив Макконнелл

"Изменяйте код только при наличии веских оснований. ... Типичный ход мыслей "Похоже этот цикл содержит дефект. Наверное, это ошибка занижения или завышения на 1, так что я просто отниму 1 и посмотрю, что получится. Ерунда какая-то. Ну-ка если прибавить 1? Вроде все работает. Думаю, проблема решена"" Стив Макконнелл

"Внесение случайных изменений в код похоже на накачивание шин автомобиля при неисправности двигателя" Стив Макконнелл

""Не знаю, в чем тут дело. будем надеяться, что это изменение сработает." Не делайте так. Это вуду-программирование" Стив Макконнелл

"Обнаружив один дефект, поищите аналогичные дефекты. дефекты часто появляются группами..." Стив Макконнелл

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

"Вы видите то, что ожидаете увдиеть, и поэтому не замечаете отличия, такие как неправильно написанное слово "увдиеть" в этом предложении" Стив Макконнелл

"Одним из самых простых и эффективных инструментов отладки является сам компилятор. Задайте в компиляторе максимально строгий уровень диагностики и устраняйте все ее ошибки и предупреждения....Детям иногда кажется, что, если они закроют глаза и перестанут вас видеть, вы пропадете" Стив Макконнелл

"Исходите из того, что разработчики компилятора знают язык гораздо лучше вас. Если они о чем-то вас предупреждают, рассматривайте это как возможность узнать о языке что-то новое. Стремитесь понять подлинный смысл каждого предупреждения" Стив Макконнелл

"Рассматривайте предупреждения как ошибки" Стив Макконнелл

"Как вы исправите неуловимые ошибки, если будете игнорировать явные?" Стив Макконнелл

"Существуют инструменты, проверяющие код тщательнее, чем компилятор" Стив Макконнелл

"Изучайте профиль программы" Стив Макконнелл

"...инструменты отладки - это костыли..... при поиске дефектов программу нужно выполнять в уме, а не в отладчике" Стив Макконнелл

"Интерактивный отладчик - великолепный пример инструмента, который не нужен: он поощряет хакерство методом проб и ошибок, а не систематичное проектирование и позволяет непрофессионалам скрыть свою некомпетентность" Стив Макконнелл

"Любой эффективный инструмент можно использовать правильно и неправильно. Отладчик - не исключение" Стив Макконнелл

"Наиболее эффективная комбинация - ясный ум и хороший отладчик" Стив Макконнелл

"Используйте Научный Метод Отладки" Стив Макконнелл

вторник, 7 октября 2008 г.

Глава "Личность". Совершенный код. С. Макконнелл.

"Как только вы решили стать отличным программистом, перед вами открываются широкие перспективы." Стив Макконнелл

"Если вы работаете на конкурентном рынке ПО, половина ваших знаний устареет за три года. Без обучения вы превратитесь в ископаемое." Стив Макконнелл

"Если вы хотите изобрести колесо, успех не гарантирован - ваше колесо может оказаться квадратным." Стив Макконнелл

"Вы должны иметь возможность сесть в кресло со стаканом бренди и сигаретой и читать программу, как хороший рассказ." Стив Макконнелл

"Неторопливое, но регулярное чтение - надежный путь к высоким профессиональным достижениям. Если, читая примерно по 35 страниц в неделю, вы будете прочитывать одну хорошую книгу по программированию каждые два месяца, скоро вы получите основательный багаж знаний и начнете выгодно отличаться почти от всех окружающих вас разработчиков." Стив Макконнелл

"Лидер имеет квалификацию программиста 3-го уровня и понимает, что программирование на 85% состоит из общения с людьми и лишь на 15% - из общения с компьютером." Стив Макконнелл

"Быть программистом начального и среднего уровня - не грех. Быть компетентным программистом, а не лидером, так же не грех. Но если вы знаете, что нужно делать для собственного развития, и ничего не предпринимаете, иначе как грехом назвать это нельзя." Стив Макконнелл

"Любой дурак способен отстаивать свои ошибки - большинство дураков так и делают." Дейл Карнеги.

"Помните: тестирование может указать только на наличие, но не на отсутствие ошибок. Если вы не понимаете программу, вы не сможете тщательно ее протестировать." Стив Макконнелл

"Программисты печально известны своими заявлениями, согласно которым на протяжении всей второй половины проекта программа неизменно "готова на 90%"." Стив Макконнелл

"Как правило, руководители будут благодарны вам за объективные оценки статуса проекта, даже если эти оценки им не понравятся." Стив Макконнелл

"Оценка (сколько времени потребуется) не может являться предметом переговоров." Стив Макконнелл

"...специалисты в целом очень точно оценивали требования, предъявляемые к проектам, и сроки из реализации. Но они не могли защитить свои решения - им нужно научиться отстаивать свое мнение." Стив Макконнелл

"...обсуждать сроки в данном случае это всеравно что обсуждать сколько футов в миле." Стив Макконнелл

"Вероятно, что компьютер читает вашу программу так же часто как и другие люди, но он читает плохой код гораздо лучше, чем люди." Стив Макконнелл

"Программирование - это в первую очередь общение с другими программистами и только во вторую - с компьютером." Стив Макконнелл

"Некоторые программисты считают, что стандарты и конвенции подавляют свободу творчества, но с этим трудно согласиться. Можете ли вы представить веб сайт, на каждой странице которого использовались бы разные шрифты, цвета, способы выравнивания текста, графические стили и способы навигации?. Какое тут творчество - это хаос!" Стив Макконнелл

"Движении нетрудно спутать с прогрессом, а занятость с продуктивностью. Главную роль в эффективном программировании играет мышление, а размышляющие люди обычно не кажутся занятыми." Стив Макконнелл

"Как правило, при разработке По настойчиваться принимает форму ослиного упрямства, т.е. пользы не приносит." Стив Макконнелл

"Во время отладки иногда очень увлекательно отслуживать надоедливую ошибку четыре часа, н оесли в течение какого-то времени (скажем, 15 минут) вы не добиваетесь прогресса, обычно лучше отложить поиск ошибки. Позвольте своему подсознанию немного поработать над проблемой." Стив Макконнелл

"Если программист неспособен пересматривать привычные способы мышления,Ю приобретение им при использовании предыдущего языка программирования, или методики оптимизации кода, работавшие на старом компьютере , наличие опыта окажется худшим вариантом, чем его полное отсутствие." Стив Макконнелл

"Если вы не изменяетесь со временем, опыт скорее вредит, чем помогает." Стив Макконнелл

"Опираясь на собственный опыт, люди часто делают неверные выводы. Трудно объективно оценить свою жизнь." Стив Макконнелл

"Нам нужен программист, обладающий 5-летним опытом программирования на Си - глупое высказывание." Стив Макконнелл

"Знания расслабившегося программиста очень быстро устаревают..." Стив Макконнелл

"Опыт может иметь разное качество." Стив Макконнелл

"Если вы не проводили хотя бы месяц, работая над одной программой - работая по 16 часов в день, грезя о ней остальные 8 часов беспокойного сна, работая несколько ночей подряд над устранением из программы "одной последней ошибки", - вы не писали сложную компьютерную программу. Тогда вам трудно понять, что в программировании есть что-то захватывающее." Эдвард Йортон.

"Следовательно, нравственные добродетели существуют в нас не от природы и не вопреки природе.... а благодаря приручению мы в них совершенствуемся... Ибо если нечто следует делать, пройдя обучение, то учимся мы, делая это... Хорошо строя дома, люди станут добрыми зодчими, а строя худо - худыми.... Так что вовсе не мало, а очень много, пожалуй, даже все зависит от того, к чему именно приучаться с детства." Аритостель.

"Выбирать хорошие привычки крайне важно, потому что очень многое из того, что вы делаете как программист, вы делаете не задумываясь." Стив Макконнелл

"...вы на самом деле не выбираете - вами движет привычка!" Стив Макконнелл

"...со временем именно привычки начинают определять, хороший ли вы программист или плохой." Стив Макконнелл

"Вы не можете заменить плохую привычку на отсутствие привычки." Стив Макконнелл

"Чтобы стать личным программистом, можно не обладать особым талантом, но необходимо постоянно стремиться к самосовершенствованию." Стив Макконнелл

Все еще ХОЧУ или уже НАДО. Или "Почему я задерживаюсь до поздна?

Если вы не проводили хотя бы месяц, работая над одной программой - работая по 16 часов в день, грезя о ней остальные 8 часов беспокойного сна, работая несколько ночей подряд над устранением из программы "одной последней ошибки", - вы не писали сложную компьютерную программу. Тогда вам трудно понять, что в программировании есть что-то захватывающее. Эдвард Йортон.

Да вот так чаще всего и получается. Кто-то говорит: "шел бы домой", "не засиживайся". А ведь прет.

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

Пару дней пробовал миксовать. Час то, пол часа это, еще час вот это. Уходил в 18:00 довольный. Но когда одна задача начинает монополизировать время. некогда хочу перерастает в монстра НАДО....

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

Так вот про задерживаюсь: когда уже понимаешь что НАДо забрало много твоего времени, то начинаешь наверстывать упущенное. Берешся за второе хочу, за третье... Повезет, если история не повторится....

А если повторится, то домой в десять. Вот и все.

Бум фиксить! Главное что понимание пришло.

понедельник, 6 октября 2008 г.

"У кого еще жизнь идет по спирали? Недавно заметила повторения..."

Устраняю повторения в жизни методом "делай что-то что вчера не делал".
Игра такая. Каждый день что-то новое. Когда получается, когда нет. Стараемсю.

Откажитесь от вещей которые закручивают (маятники).

Включайте и тренируйте "смотрителя" (внутренний голос, который наблюдает за происходящим и говорит, когда что-то повторяется).

Делай каждый день что-то новое и не обычное. Вообще не обычное.

И тогда жизнь станет необычной.

На ответах

"А в Ваших неудачах вы вините прежде всего себя..или кого-то другого...?"

Ответы в сортированные по вероятности появления:
1) все виноваты, но никак не я. - 99%
2) так сложились обстоятельства. - 0,999999%
3) во всем что со мной происходит в ответе я сам. - 0,00000001%

Дальше...
Нету неудач, есть стены которые ставят стоят для того чтобы показать насколько ты хочешь результата.
Еще дальше...
Результат в сторону - можно поприкалываться и поиграть со стеной.
Если надоело играть...
Всегда есть черный вход... Поиграем в "найди черный вход".
Если надоело играть...
Идем в другое место там поиграем...

Винить себя:
Можно, если это игра такая.

Винить чужого (критиковать):
Не стоит. Лучше поиграть в "найди в нем хоть что-то хорошее и похвали за это". Он хоть оправдываться не будет, а там глядишь и другом станет... дальше вместе играть можно...

http://otvet.mail.ru/question/18623551/

Не результат а процесс

Сегодня делал чай на кухне в офисе. Есть два варианта разогреть воду.

Первый нагреть малое количество воды электрическим чайником (ну кто нагревает много? - ведь это долго ждать - не думаем про то, что кому-то время сэкономим и ему будет приятно, ну ладно).

Второй это воспользоваться услугами кофеварки. Там есть режим "дай гарячую воду". Крутишь ручку и льется кипяток.

Я замерял (люблю оптимизировать) сколько времени уходит на тот и другой способ. Оказывается одинаково. Совпало просто :). Значит пофиг. Но...

...в кофеварке ты с самого начального момента уже имеешь какой-то количество кипятка в кружке. А значит можно остановиться когда пожелаешь. В этом фишка. Мало кто ее рубит. Игра останавливается, когда того хочешь ты.

В чайнике же приходится ждать. В любой момент времени у тебя вода не нагретая до кипения аж до самого последнего момента.

Вот так вот. Разница между ориентацией на ЦЕЛЬ и ПРОЦЕСС.

Рассказал сотруднику про это (в тот же момент что и понял) за что был определён как "Человек Иллюзий". Мне нравится. Хотя я так и не понял до сих пор чего я за человек.

четверг, 2 октября 2008 г.

Когда ты овощ

Вот с овощами Друг подсказал тему:
"Кстати о телевизорах :) - вчера смотрел телевизор чуток (я его смотрю все таки, пока!) - сегодня еду в троллейбусе и пытаюсь вспомнить что ж я смотрел? я особо не напрягался вспоминать но ни хрена не вспомнил!

фига себе реальность! да если бы я вчера делал что-то реальное - играл в тенис, был на рыбалке, да что угодно - я бы это помнил в деталях! а тут посидел овощем часок - чего-то там схавал и даже не помню чего схавал (то есть смотрел) - короче это все ушло прямиком в подсознание я так понимаю!

можно конечно повспоминать что я там смотрел - но не хочу, это как сны вспоминать"

А таки да! Я сейчас борюсь со своим дневником. Я не имею времени записывать в него что-то физически, но я это делаю как только это время появляется. Конечно не во времени дело - приоритеты не те, но...

Получается иногда так: через неделю пытаюсь вспомнить что со мной было тогда-то и тогда-то (дневник такой у меня :) недельный - хорошо что не месячный). Пытаюсь и не могу. Почему? Бо овощ в то время, когда занимаюсь чем-то не своим, каким-то нАДО. Свое ХОЧУ запоминается надолго и ярко.

Менять пора что-то....