От: | Valery A. Boronin | linkedin.com/in/boronin | |
Дата: | 05.06.08 09:25 | ||
Оценка: | 26 (5) | ||
#Имя: | FAQ.asm.climb |
Алгоритм мог бы быть примерно такой:
— DDK help: выбираем тему типа архитектура WDM, смотрим картинки, читаем (можно подключить Walter Oney в параллель, если речь о WDM. Важно пользоваться правильными и по возможности оригинальными источниками и не тратить время на неавторитетные вроде книг на русском, разве что Руссинович годится). Заодно прививаем правильные привычки.
— определяем какой раздел в DDK\src содержит примеры по теме, напрямую рекомендуемые (это есть в DDK или описаниях к самим примерам — там пишут "кто они, что они"). К примеру, берем "пример на все времена" toaster и начинаем его собирать\ставить и затем активно читать.
— появился вопрос? сразу не бежим на форум или в гугль, думаем. А именно придумываем конкретные вопросы, которые бы помогли однозначно ответить на первый. Стараемся придумывать\ставить их такими, чтобы можно было тут же проверить. Например в отладчике или каком известном инструменте системного разработчика, которые также должны быть всегда под рукой — из раздела downloads на sysinternals да OSR, бинари к книгам Рихтера Брауна Они и т.п. Практика показывает, что бОльшая часть вопросов таким образом может быть снята самостоятельно (сколько ответов в форумах состоящих из ссылок на форум? просто авторы даже не искали ответов, а летели на форум) — кроме того это несет и реальный эффект, набор самого что ни на есть реального опыта ибо "в бою" ситуация мало чем отличается — часто спросить не у кого (возможно какие-то вещи вообще никто не делал или делал но тщательно скрывает сей факт) и полагаться остается на себя, да на отладчик. Так что привыкаем.
— что делать если все равно остались\появились новые неразрешенные старым добрым методом "разделяй и влавствуй" подвопросы? А нужно стараться "разделять", то бишь учиться выделять ключевые слова и формулировать вспомогательные вопросы так, чтобы можно было потом прогуглить. Это заодно и критерий — если ты сам не можешь внятно и кратко сформулировать, выделить ключевые моменты — что-то не так, нужно еще подумать\почитать. Итак, не получилось как предложено выше — гуглим. Найдя ответ, проверяем в отладчике\текстах\доках так ли это! ибо мало ли кто что сказал. Это важно и это выработка еще одной хорошей привычки в наш век гугления в непроверенных источниках, поможет не только в ядре. Далее пытаемся ответить на оригинальный вопрос с учетом нового полученного знания. Возможно имеет смысл перечитать какие-то места в книгах\доках\исходниках.
— все равно не прет? вот теперь идем на форум и выкладываем уже продуманные и понятно (хотя бы себе) сформулированные (под)вопросы, на которые не удалось ничего нагуглить (имется ввиду поиск не только в гугле но и по этому форуму ). При этом стоит, задавая вопрос, не писать своих предполагаемых ответов\домыслов, а лучше писать что именно, где и как уже смотрели\искали. Впрочем это уже описано в бессмертном тексте "Как правильно задавать вопросы".
— получаем ответ и едем дальше, читаем следующий раздел в DDK help, смотрим след sample и т.д.