Pull to refresh
0
InlyIT
Для старательного нет ничего невозможного

Прежде чем что-то делать, убедитесь, что способны не сделать ничего

Level of difficultyEasy
Reading time2 min
Views3.6K
Original author: Raymond Chen
Когда нужно создать некий новый элемент, самым лучшим первым шагом будет создание элемента, который ничего не умеет делать. С таким подходом вы, по крайней мере, можете быть уверены, что начинаете работу на прочной базе.

Если мне нужно написать компонент, который выполняет определенное действие, последовательность шагов для достижения этой цели у меня, скорее всего, будет такой:

  • Нулевой этап: написание отдельной программы, которая производит нужное действие. Это гарантирует, что такое действие как минимум возможно в принципе.
  • Теперь, когда у меня есть рабочий код, выполняющий необходимое действие, я прописываю компонент, который НЕ выполняет это или другие действия. Это позволяет мне удостовериться, что я по крайней мере знаю, как создать компонент.
  • Далее я закрепляю компонент за действием, но делаю так, чтобы метод Invoke только передавал отладчику сообщение «Ура!» и ничего больше. Это позволяет мне удостовериться, что я способен организовать запуск компонента в нужный момент.
  • Дальше я добавляю в метод Invoke ровно столько кода, сколько нужно, чтобы обозначить, какое требуется выполнить действие и применительно к какому объекту оно выполняется, передать эту информацию отладчику и дождаться возврата, не выполняя при этом само действие. Это позволяет мне удостовериться, что я способен определить, какое именно действие требуется произвести.
  • Наконец, я добавляю в метод Invoke всё остальное, что необходимо для осуществления действия над желаемым объектом. Это можно сделать просто скопировав и вставив уже проверенный код из программы, которая была создана на нулевом этапе.

Очень часто приходится видеть, как не слишком опытные разработчики бросаются в дело очертя голову и сразу начинают писать что-то большое и сложное. Потом, по причине величины и сложности, у них не получается даже провести компиляцию. Они приходят за помощью за словами: «У меня тут возникла проблема с одной строкой кода», но, когда начинаешь изучать, что у них написано, понимаешь, что проблема-то отнюдь не исчерпывается этой строкой кода. Программа еще даже близко не подошла к тому, чтобы в принципе осознать возможность исполнения того, что указывается в этой строке кода. И тогда я бормочу себе под нос: «Как ты вообще довел до такого?»

Начните с сущности, которая не делает ничего. Убедитесь, что ничегонеделание происходит успешно. И только после этого можно начинать вносить изменения с прицелом на то, чтобы она что-то стала делать. Действуя таким образом, вы можете быть уверены, что проблемы, которые возникают по ходу дела, связаны именно с попытками произвести конкретное действие.
Tags:
Hubs:
Total votes 12: ↑12 and ↓0+16
Comments3

Articles

Information

Website
inlyit.com
Registered
Founded
Employees
31–50 employees
Location
Россия