Debugging Habits

Post on 29-Jan-2018

692 views 2 download

Transcript of Debugging Habits

Debug на навици

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

WordCamp25 септември 2011

София

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

0310x1911001

Програмист

Всеки път

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

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

This slide has been intentionally left blank

Debug на навици

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

WordCamp25 септември 2011

София

Debug на навици

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

WordCamp25 септември 2011

София

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

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

хоби

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

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

self-help

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

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

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;}

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

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

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

=

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

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

=

по-добър

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

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

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

=

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

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

Малко Meta

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

=

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

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

knowledge worker

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

Kent Beck

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

Aristotle

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

=

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

навици

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

=

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

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

=

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

навици

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

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

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

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

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

изводи(highly personal)

фокус

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

No Instant Messengers

25 минути1

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

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

2 25 минути

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

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

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

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

3 25 минути

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

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

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

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

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

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

4 25 минути

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

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

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

4 25 минути

15 минути

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

I have found Jesus!

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

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

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

2 браузъра

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

Почивки

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

RSI ;(

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

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

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

4 25 минути

15 минути

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

Yak Shaving

http://xkcd.com/349/

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

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

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

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

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

estimation

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

структура

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

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

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

The ToDo list

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

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

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

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

weight loss

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

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

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

трикове!

Seinfeld Calendar

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

Before: After:

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

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

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

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

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

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

Refactoring!

Refactoring!

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

Kaizen

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

Малко Meta

mind mapping

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

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

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

note keeping

wiki

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

Шунка

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

учене на думи

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

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

fish[ˈfɪʃ]

ghoti[ˈfɪʃ]

fish[ˈfɪʃ]

ghoti[ˈfɪʃ]

tough [tʌf]

fish[ˈfɪʃ]

ghoti[ˈfɪʃ]

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

fish[ˈfɪʃ]

ghoti[ˈfɪʃ]

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

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

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

мерете

Книжки!

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

stefan.kanev@gmail.com

Въпроси?