Не изобретайте колесо заново, если не планируете больше узнавать о колесах Перевод
В Боне (древняя религия тибетцев), есть медитация, где используется 3 цвета (белый, красный и зеленый). Я рассказал про эту медитацию, и один человек который слушал её, на следующий день сказал:
Я тут подумал, 3 цвета очень мало. Я добавил туда еще несколько.
Бог ты мой, 2000 лет бедные тибетцы не знали, что они делают! Надо было еще цвета оказывается добавить! )
Не изобретайте колесо заново, если не планируете больше узнавать о колесах
Оригинал статьи: Don't Reinvent The Wheel, Unless You Plan on Learning More About Wheels
Автор: Jeff Atwood 07 Feb 2009
Введение в Head First Design Patterns призывает нас не изобретать велосипед:
Ты не одинок. В любой момент где-то в мире кто-то борется с теми же проблемами, что и вы. Вы знаете, что не хотите изобретать колесо (или, что еще хуже, спущенное колесо), поэтому вы обращаетесь к шаблонам проектирования — урокам, извлеченным теми, кто сталкивался с такими же проблемами. С помощью шаблонов проектирования вы можете воспользоваться лучшими практиками и опытом других, чтобы вы могли тратить свое время на… что-то другое. Что-то посложнее. Что-нибудь посложнее. Что-нибудь повеселее.
Избегать повторного изобретения пресловутого колеса — стандартная мудрость в кругах разработчиков программного обеспечения. В этом, безусловно, есть правда, но я думаю, что это немного опасно, если воспринимать его слишком буквально — если вы категорически отвергаете все попытки решить проблему с кодом после того, как какая-либо существующая библиотека будет создана.
Я не совсем уверен. Я думаю, что изобретение колеса, если все будет сделано правильно, может быть полезным. Например, James Hart заново изобрел колесо. И ему понравилось:
На прошлой неделе я заново изобрел колесо. Я сел и намеренно закодировал то, что, как я знал, уже существовало и, вероятно, было сделано многими другими людьми. Говоря обычным языком программирования, я зря потратил время. Но это того стоило, и более того, я бы порекомендовал практически любому серьезному программисту делать то же самое.
Но кто такой Джеймс Харт? Еще один программист. Если это не имеет для вас достаточного веса, то это не особо и важно.
А еще есть Боб Ли, который возглавляет разработку основной библиотеки для Android.
В зависимости от контекста вы почти всегда можете заменить «Зачем изобретать велосипед?» на «Пожалуйста, не заставляйте меня узнавать что-то новое». В любом случае у оппонента нет реальных аргументов против создания чего-то нового и лучшего, но он также не хочет признавать свои нездоровые мотивы попыток остановить вас.
Больше семян, больше цветков, — говорю я. Не стройте дома на кухонных раковинах. Изобретайте заново. Большая часть наших современных технологий — отстой, и даже если это не так, кто я такой, чтобы пытаться вас остановить?
Действительно. Во всяком случае, «Не изобретайте колесо заново» следует использовать как призыв к оружию для глубокого ознакомления со всеми существующими решениями, а не как дубинку, чтобы подорвать тех, кто на законных основаниях хочет построить что-то лучше или улучшить то, что уже существует.
Итак, нет, не стоит изобретать велосипед. Если только вы не планируете больше узнавать о колесах.
Я опубликовал эту статью, потому, что на Discourse встретил опять попытку переделать форум (Discourse) в Q&A систему. Какая навязчивая идея у всех, и у меня была. Столько лет это продолжается…
Собственно формат работает, с ним то что будет ? Markdown, один в один отобразит, хотя парсеры разные. А вот отображение общее, разница есть. Просто открыть 2 вкладки и сравнить. Телефон не беру, с ним ещё тут не занимался.
Тут ужасное место, это рекомендовано внизу. )