153
Debug на навици Стефан Кънев http://skanev.com / @skanev WordCamp 25 септември 2011 София

Debugging Habits

Embed Size (px)

Citation preview

Page 1: Debugging Habits

Debug на навици

Стефан Къневhttp://skanev.com/@skanev

WordCamp25 септември 2011

София

Page 2: Debugging Habits

Здравейте, аз съм Стефан

Page 3: Debugging Habits

0310x1911001

Page 4: Debugging Habits

Програмист

Page 5: Debugging Habits
Page 6: Debugging Habits

Всеки път

Page 7: Debugging Habits
Page 8: Debugging Habits

Физическа болка

Page 9: Debugging Habits

Хора с мустаци

Page 10: Debugging Habits
Page 11: Debugging Habits
Page 12: Debugging Habits
Page 13: Debugging Habits

This slide has been intentionally left blank

Page 14: Debugging Habits

Debug на навици

Стефан Къневhttp://skanev.com/@skanev

WordCamp25 септември 2011

София

Page 15: Debugging Habits

Debug на навици

Стефан Къневhttp://skanev.com/@skanev

WordCamp25 септември 2011

София

Съвършенство чрез

Page 16: Debugging Habits

програмистпрофесия

хоби

Page 17: Debugging Habits

няма да говоряза програмиране

Page 18: Debugging Habits

ще говоряза навици

Page 19: Debugging Habits
Page 20: Debugging Habits

self-help

Page 21: Debugging Habits
Page 22: Debugging Habits
Page 23: Debugging Habits
Page 24: Debugging Habits

Ще има елементи отвсички тези неща.

Page 25: Debugging Habits

Колко от вас са програмисти?

Page 26: Debugging Habits

static u64 sched_clock_local(struct sched_clock_data *scd){ u64 now, clock, old_clock, min_clock, max_clock; s64 delta;

again: now = sched_clock(); delta = now - scd->tick_raw; if (unlikely(delta < 0)) delta = 0;

old_clock = scd->clock;

/* * scd->clock = clamp(scd->tick_gtod + delta, * max(scd->tick_gtod, scd->clock), * scd->tick_gtod + TICK_NSEC); */

clock = scd->tick_gtod + delta; min_clock = wrap_max(scd->tick_gtod, old_clock); max_clock = wrap_max(old_clock, scd->tick_gtod + TICK_NSEC);

clock = wrap_max(clock, min_clock); clock = wrap_min(clock, max_clock);

if (cmpxchg64(&scd->clock, old_clock, clock) != old_clock) goto again;

return clock;}

Page 27: Debugging Habits

Автоматизация

Page 28: Debugging Habits

Автоматизация

Публикуванена мисли винтернет

=

Page 29: Debugging Habits

Автоматизация

Инсталиране ихостинг на блог

=

Page 30: Debugging Habits

по-добър

Page 31: Debugging Habits
Page 32: Debugging Habits

Автоматизация

= ?Автоматизация

Page 33: Debugging Habits

Автоматизация

=

Автоматизация

Автоматизация

Page 34: Debugging Habits

Малко Meta

Page 35: Debugging Habits

Автоматизация

=

Автоматизация

Автоматизация

Page 36: Debugging Habits
Page 37: Debugging Habits

knowledge worker

Page 38: Debugging Habits
Page 39: Debugging Habits
Page 40: Debugging Habits

“I’m not a great programmer, I’m just a good programmer with great habits.”

Kent Beck

Page 41: Debugging Habits

“We are what we repeatedly do.Excellence, then, is not an act,but a habit.”

Aristotle

Page 42: Debugging Habits
Page 43: Debugging Habits

Автоматизация

=

Автоматизация

навици

Page 44: Debugging Habits

Автоматизация

=

Автоматизация

Page 45: Debugging Habits

Автоматизация

=

Автоматизация

навици

Page 46: Debugging Habits

Няма да ви представямцялостна система.Има достатъчно...

Page 47: Debugging Habits

Ще ви разкажа каквоработи за мен

Page 48: Debugging Habits
Page 49: Debugging Habits

малки трикове

Page 50: Debugging Habits

малки триковебез някакъв ред

Page 51: Debugging Habits

малки триковебез някакъв редбез градация

Page 52: Debugging Habits

изводи(highly personal)

Page 53: Debugging Habits

фокус

Page 54: Debugging Habits

Обикновено си мислите, че нямате проблем с фокуса. Обикновено грешите

Page 55: Debugging Habits
Page 56: Debugging Habits

No Instant Messengers

Page 57: Debugging Habits
Page 58: Debugging Habits
Page 59: Debugging Habits

25 минути1

Page 60: Debugging Habits

5 мин25 минути1

Page 61: Debugging Habits

5 мин25 минути1

2 25 минути

Page 62: Debugging Habits

5 мин25 минути1

2 25 минути 5 мин

Page 63: Debugging Habits

5 мин25 минути1

2 25 минути 5 мин

3 25 минути

Page 64: Debugging Habits

5 мин25 минути1

2 25 минути 5 мин

3 25 минути 5 мин

Page 65: Debugging Habits

5 мин25 минути1

2 25 минути 5 мин

3 25 минути 5 мин

4 25 минути

Page 66: Debugging Habits

5 мин25 минути1

2 25 минути 5 мин

3 25 минути 5 мин

4 25 минути

15 минути

Page 67: Debugging Habits
Page 68: Debugging Habits

Вече мога да сефокусирам за 25 минути

Page 69: Debugging Habits

I have found Jesus!

Page 70: Debugging Habits
Page 71: Debugging Habits

Условех рефлекс

Page 72: Debugging Habits

Дори да не ми се работи, трябва само да пусна таймера

Page 73: Debugging Habits

Работния ми денстава по-предвидим

Page 74: Debugging Habits

2 браузъра

Работа Лични работи

Page 75: Debugging Habits

Почивки

Page 76: Debugging Habits

След като работишдълго, не усещаш, чеси уморен

Page 77: Debugging Habits

RSI ;(

Page 78: Debugging Habits

5 мин25 минути1

2 25 минути 5 мин

3 25 минути 5 мин

4 25 минути

15 минути

Page 79: Debugging Habits

Почивките ставатзадължителни!

Page 80: Debugging Habits

Yak Shaving

Page 81: Debugging Habits

http://xkcd.com/349/

Page 82: Debugging Habits

Случва се по-често,отколкото очаквате

Page 83: Debugging Habits

Ако не съм успял да завърша нещо за 25 минути, изтривам кода и започвам отново

Page 84: Debugging Habits

Това ме кара да работя на малки стъпки, което намалява риска от бръснене на якове

Page 85: Debugging Habits

Имам външен стимул да спра навреме

Page 86: Debugging Habits

Мога да свърша нещо смислено за 25 минути

Page 87: Debugging Habits

estimation

Page 88: Debugging Habits
Page 89: Debugging Habits

Вече знам колко работа мога да свърша за един ден

Page 90: Debugging Habits

структура

Page 91: Debugging Habits

Мога да изграждам неща около нея

Page 92: Debugging Habits

Помага ми, когато нямам вдъхновение да работя

Page 93: Debugging Habits

Въвежда предвидимост в работния ми ден

Page 94: Debugging Habits

The ToDo list

Page 95: Debugging Habits
Page 96: Debugging Habits

Не се разсейвам с неща, изникващи докато върша нещо друго

Page 97: Debugging Habits

Винаги знам какво да правя, ако приключа с текущата задача

Page 98: Debugging Habits

изборът е труден

Page 99: Debugging Habits
Page 100: Debugging Habits
Page 101: Debugging Habits

Изграждайте навици, които ви помагат да избягвате вземане на решения

Page 102: Debugging Habits

weight loss

Page 103: Debugging Habits

Кантарът изглеждашестрашно

Page 104: Debugging Habits
Page 105: Debugging Habits

Хм, мисля да започна да тичам всеки ден

Page 106: Debugging Habits
Page 107: Debugging Habits

Мотивация за тичане всеки ден се намира трудно

Page 108: Debugging Habits

трикове!

Page 109: Debugging Habits

Seinfeld Calendar

Page 110: Debugging Habits
Page 111: Debugging Habits

Създава цел и “continuity”(приемственост?)

Page 112: Debugging Habits

Before: After:

Page 113: Debugging Habits

поддръжка наапартамент

Page 114: Debugging Habits
Page 115: Debugging Habits

Трудно ми е да повярвам, че кодът ти е подреден, предвид колко е разхвърлян апартамента ти!

Page 116: Debugging Habits

Трудно ми е да повярвам, че кодът ти е подреден, предвид колко е разхвърлян апартамента ти!

Какво имаш предвид? Та ти работиш над кода на WordPress?!

Page 117: Debugging Habits

Май Ники имаше право за нещо... пък и мустакът му е толкова убедителен...

Page 118: Debugging Habits

Поведението ми докато пиша код е различно от това, когато стоя в апартамента си

Page 119: Debugging Habits

Refactoring!

Page 120: Debugging Habits
Page 121: Debugging Habits

Refactoring!

Page 122: Debugging Habits

Прилагането на рефакториране вкъщи чувствително подобри жизнения ми стандарт

Page 123: Debugging Habits
Page 124: Debugging Habits

Kaizen

Page 125: Debugging Habits

Изграждането и поддържането на навици е навик

Page 126: Debugging Habits

Малко Meta

Page 127: Debugging Habits

mind mapping

Page 128: Debugging Habits

Стават леко “модерни”

Page 129: Debugging Habits

Пропуснете курсовете; книжката си струва

Page 130: Debugging Habits
Page 131: Debugging Habits

Не винаги нещата работят от първия път

Page 132: Debugging Habits

note keeping

Page 133: Debugging Habits
Page 134: Debugging Habits

wiki

Page 135: Debugging Habits

Понякога старите навици са вредни

Page 136: Debugging Habits

Шунка

Page 137: Debugging Habits

Ами, таковато, тиганът ми беше твърде малък

Page 138: Debugging Habits
Page 139: Debugging Habits

учене на думи

Page 140: Debugging Habits

всяка дума по 10 пъти

Page 141: Debugging Habits

Английския има завъртян правопис

Page 142: Debugging Habits

fish[ˈfɪʃ]

ghoti[ˈfɪʃ]

Page 143: Debugging Habits

fish[ˈfɪʃ]

ghoti[ˈfɪʃ]

tough [tʌf]

Page 144: Debugging Habits

fish[ˈfɪʃ]

ghoti[ˈfɪʃ]

tough [tʌf]women [ˈwɪmɪn]

Page 145: Debugging Habits

fish[ˈfɪʃ]

ghoti[ˈfɪʃ]

tough [tʌf]women [ˈwɪmɪn]nation [ˈne ͡ɪʃən]

Page 146: Debugging Habits

някаква генерализация

Page 147: Debugging Habits

експериментирайтенаблюдавайте

мерете

Page 148: Debugging Habits

Книжки!

Page 149: Debugging Habits
Page 150: Debugging Habits
Page 151: Debugging Habits
Page 152: Debugging Habits

Нещо работи при вас?Пишете ми!

[email protected]

Page 153: Debugging Habits

Въпроси?