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

С тех пор я закончил два проекта: приложение погоды для моего рабочего стола (написанное на HTML5 / CSS / JavaScript и упакованное с Electron) и личный веб-сайт для меня (с использованием Angular). Вот несколько причин, по которым я считаю, что закончить несколько проектов лучше, чем начинать и никогда не заканчивать еще несколько.

1. Готовые проекты можно использовать

Когда вы закончите проект, вы действительно сможете извлечь из него пользу. Если он слишком неработоспособен, чтобы даже выпускать его в качестве бета-версии, он никому, в том числе и вам, не принесет пользы. Причина, по которой я создал кроссплатформенное погодное приложение, заключалась в том, что я использую несколько операционных систем; настольный компьютер с двойной загрузкой Windows / Ubuntu и Macbook Pro в качестве ноутбука. Я просто подумал, что было бы здорово использовать одно и то же приложение погоды для всех моих ОС, и теперь оно у меня есть. Конечно, у него нет определенных функций (например, определения вашего местоположения), но он, безусловно, пригоден для использования, и я всегда могу вернуться и добавить дополнительные функции позже. То же самое и с моим сайтом. Он, конечно, не готов для того, чтобы я транслировал в мир, но у него есть домашняя страница, страница «обо мне», страница для моих проектов (некоторые из которых уже перечислены) и страница блога.

2. Трудно вернуться и поработать над незавершенным беспорядком.

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

3. Вы чувствуете себя лучше

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

4. То, что начинается с малого, можно масштабировать.

Хотя мои последние два проекта особенно малы, я надеюсь применить то же стремление к более крупным проектам. Например, я всегда хотел создать онлайн-стратегию, похожую на Forge of Empires, но знал, что обязательно остановлюсь, прежде чем когда-либо завершу что-то в таком масштабе. Благодаря стремлению и мотивации закончить то, что я начинаю, и моим знаниям об Angular, возможно, однажды эта мечта станет реальностью. А пока, думаю, я начну и закончу свой следующий мини-проект, который, как я знаю, буду использовать постоянно: программу массового переименования файлов.