Я уже давно работаю над довольно крупным проектом с открытым исходным кодом, и он близок к тому моменту, когда я хотел бы выпустить его. Тем не менее, я самоучка, и я действительно не знаю никого, кто мог бы адекватно рассмотреть мой проект.
Несколько лет назад я выпустил небольшой кусочек кода, который в значительной степени был разорван (в критическом смысле) на форуме, где я его выпустил. Хотя кодекс работал, критика была точной, но жестокой. Это побудило меня начать поиск лучших практик для всего, и в конце я чувствую, что это сделало меня намного лучшим разработчиком. Я столько раз перебирал все в своем проекте, пытаясь сделать его идеальным, что потерял счет.
Я верю в свой проект и думаю, что у него есть потенциал, чтобы помочь многим людям, и я чувствую, что я сделал с ним несколько интересных вещей интересным способом. Тем не менее, поскольку я самоучка, я не могу не задаться вопросом, какие пробелы существуют в моем самообразовании. То, как мой код был разорван в прошлый раз, я бы не хотел повторять. Я думаю, что мои два самых больших страха перед выпуском моего проекта, в который я потратил бесчисленные часы, абсолютно смущены, потому что я пропустил некоторые явно очевидные вещи из-за своего самообразования или, что еще хуже, выпустить его под звуки сверчков.
Есть ли кто-нибудь, кто был в подобной ситуации? Я не боюсь конструктивной критики, пока она конструктивна, а не просто разглагольствует о том, как я облажался. Я знаю, что на StackExchange есть сайт для проверки кода, но он не предназначен для больших проектов, и я не чувствовал, что сообщество там достаточно велико, чтобы получить хорошую обратную связь, если я буду публиковать части своего проекта по частям (я попробовал с одним файлом). Что я могу сделать, чтобы дать моему проекту хоть какой-то успех, не стесняясь и не унижаясь этим процессом?
источник
Ответы:
Если проект не предназначен для разработчиков (например, среда разработки, в этом случае вы ХОТИТЕ, чтобы они критиковали ее, если она заставляет вас учиться еще больше), вам не стоит беспокоиться. Но даже тогда, есть много проектов с открытым исходным кодом, предназначенных для разработчиков, которые являются дерьмом, но люди любят их, потому что они идут к сути (подумайте о Codeigniter, который очень плохо спроектирован, и все же это самая популярная среда php)
Если это приложение для обычных людей, они, вероятно, будут заботиться только о результатах.
источник
У вашего кода есть проблемы. Как и мой. Кто-нибудь еще отвечает на этот вопрос? У их кода тоже есть проблемы.
Если это, скажем, 10 строк или меньше, это неправильно. Возможно трагически так.
Быть разработчиком - значит ПОСТОЯННО мешать себе, ограничивая свои способности и понимание. Может быть, это не так для ВСЕХ разработчиков, но для меня и для тех, кого я знаю, мы постоянно работаем на грани своей компетенции. И ты сталкиваешься с этим снова и снова, потом проводишь хорошие выходные, потом возвращаешься в понедельник и делаешь это снова и снова.
Проработав эту жизнь в течение 15 лет, я остановился на одном факте: вы не ваш код . ВЫ НАПИШИТЕ код. Суждение кодекса не является суждением о вас . У вашего кода есть проблемы, некоторые из которых вы знаете, а некоторые - нет. Обращая на себя внимание, это помогает вам , если только вы не можете чувствовать себя плохо. Плохое самочувствие не улучшает ваш код, оно просто заставляет вас чувствовать себя плохо.
Вы пишете свой код, и вы пишете это так же хорошо, как знаете. Может быть, завтра вы узнаете больше, чем сегодня, но сегодня вы сделали это так же, как знали. Мой совет: напишите сегодняшний код сегодня, а завтра код завтра. Тогда хороших выходных и возвращайтесь в понедельник, чтобы написать код понедельника.
источник
Как правило, в программах с открытым исходным кодом есть три группы людей, которые смотрят на исходный код.
В реальном мире люди действительно не будут читать ваш исходный код по любой другой причине, кроме этих, потому что им просто не нужно. Раньше вы получали такой объем отзывов только потому, что разместили код на форуме, что означало, что вы хотите получить отзыв о коде.
Я не думаю, что вам действительно нужно беспокоиться о потоке насилия; единственные люди, которые могут связаться с вами вообще, это люди, которые хотят добавлять функции или исправлять ошибки, которые уже просмотрели кодовую базу и не кричали о холмах. ;)
источник
Я действительно не понимаю психологию этого вопроса ... лучше спросить себя: "Что я должен потерять, выпуская это программное обеспечение"?
Даже если ваш проект полон запахов кода, вы должны что-то потерять?
Даже если код ужасный и кто-то тратит время, чтобы написать вам пламенное письмо, угадайте, что, он, вероятно, использовал ваше программное обеспечение достаточно, чтобы захотеть внести в него некоторые изменения и улучшить его.
Вы должны быть рады этому! Примите критику и сделайте свой код лучше, спросите злого парня, который нашел время написать вам. Ему не все равно!
Через некоторое время пламенные письма прекратятся, люди продолжат использовать ваше программное обеспечение, вы научитесь на своих ошибках, и пробелы, о которых вы не знали, существовали в вашем образовании, больше не будут.
Я бы предпочел работать с кем-то, кто готов что-то сделать, признать свои ошибки, исправить их и продолжать, чем с кем-то, кто не хочет ничего делать.
Если вы действительно не хотите выпускать программное обеспечение под своим именем, то выпускайте его под ником. Если это удастся, заявите, что это ваше, если нет, смените ник :)
источник
Я твердо верю не только в open source, но и в open development , где люди могут увидеть полную эволюцию вашего кода. От зачарованного прототипа до рабочего кода ... не стоит смущаться. Вы ставите себя там - это требует мужества. Имейте это и гордитесь этим. Никто не совершенен.
источник
Чем дольше я нахожусь в этой игре, тем больше я осознаю, что единственным показателем качества кода является опыт клиента. Если вы пишете функцию, это вызывающая сторона этой функции. Библиотека? Разработчики, которые пишут для этой библиотеки. Рамки? Усыновители этого. Автономный? Человек или демон, который запускает программу.
Хороший код имеет свои достоинства, не поймите меня неправильно, но когда его говорят и делают, единственной мерой является "Работает ли он?" Я видел много чистого кода с ошибками и множество сатанински ненормального кода, который абсолютно надежен (плюс хороший чистый и плохой уродливый :))
Так что, если критики говорят, что ваш код безобразен, кого это волнует? Если они говорят, что это не работает - это полезная критика (тестирование данных!), Которую вы пытаетесь улучшить в своей программе. Держитесь там, избегайте интернет-троллей и получайте удовольствие от своего проекта!
источник
Я полностью согласен с тем, что говорили другие авторы: даже если ваш код дрянной и не высокого качества - большинству людей просто все равно. Каждый, кто в тот или иной момент погрузился в код OpenSource, мог подумать: «Здесь случился WTF».
Но я не знаю никого, кто был бы готов критиковать кодовую базу проекта просто ради того, чтобы сказать «чувак, ваш код выглядит ужасно!». Мы все были там, и мы все знаем, что любой код, который мы пишем прямо сейчас, покажется нам довольно отстойным всего за несколько минут (мой точно будет).
Так что не стоит сильно беспокоиться - людям просто гораздо интереснее в свободное время, чем придираться к коду проектов OpenSource.
источник
Настоящий код всегда гнилой и грязный, складывается и поддерживается приблизительно специальным образом. Очистка ограничивается документированием особых случаев и специальных констант. Существует несоответствие импеданса между чистым кодом и реальным миром.
Я также заметил, что любой компетентный инженер может разорвать чужой код на части.
Если (1) он проходит тесты и достигает цели без сбоев И (2) вы можете вносить незначительные изменения только с незначительной перезаписью, это хороший код.
источник
Несколько мудрых слов от Рейда Хоффмана, соучредителя LinkedIn:
Я думаю, что это особенно относится к проектам с открытым исходным кодом, где отличная идея с многообещающим началом поощряет людей вносить свой вклад и участвовать. То, что так отполировано, что заставляет надеть солнцезащитные очки, может не вызывать таких чувств. Но самая важная вещь в выпуске на ранней стадии - это разрушить все ваши предвзятые мнения о том, что должно быть сделано, и начать двигаться в правильном направлении.
источник
Кто ты? Вы тот, кого люди знают как бога-программиста, и беспокоитесь, что ваша репутация снизится? Вы тот, кто собирается подать заявку на работу и беспокоится, что работодатель может прочитать эту критику и подумать, что вы плохой программист? Я спрашиваю, почему ты боишься критики по поводу того, как ты облажался. Вы решаете, какие из них являются подлинными комментариями, а какие беспорядочными. Возьмите хорошие как дефекты и исправьте их в следующей версии. Я просто чувствую, что вы беспокоитесь из-за критики. Вы помогаете сообществу open source, что само по себе является очень хорошим делом. Пожалуйста, продолжайте в том же духе.
источник
Если вы действительно обеспокоены, просто используйте онлайн-псевдоним при выпуске программного обеспечения. Тогда это никак не повлияет на вашу реальную репутацию.
Когда / Если вы получите публичную критику, это приведет к улучшению кода и поможет вам расти как разработчик. Это хорошая вещь.
Я считаю, что для моих проектов наиболее конструктивная критика / предложения направляются в частном порядке, а не в открытом доступе, и даже тогда вы вряд ли получите поток комментариев. Поэтому я рекомендую просто пойти на это!
Удачи.
источник
Нет ничего плохого в самообучении само по себе. Вы не можете быть изолированными, и рецензирование кода может помочь с этим.
Вы также должны сосредоточиться на том, что вы делаете. Почему вас волнует, что вы получаете отрицательный отзыв о своей работе? Если это потому, что вы делаете предположение, что если вас критикуют, то это потому, что код плохой или вы не очень хороши в программировании, это может быть или не быть правдой.
Цель этих усилий - убедиться, что код работает, и вывести как можно лучший код, но из практического опыта не весь коммерческий код также является звездным. Иногда вы получаете плохие требования, иногда у вас нет времени, чтобы сделать это правильно. Иногда разработчики хотят выглядеть гением, заставляя других выглядеть плохо.
Я не верю, что вы можете учиться без ошибок, особенно если это требует дисциплины и усилий. Если бы это было легко, все бы это делали. Просто постарайтесь ограничить ошибки мелкими, используя признанные лучшие практики. Я понимаю, что это не всегда возможно!
Если бы я беспокоился о том, что другие думают обо мне, как о программисте, я бы не пошел в поле зрения. Тем не менее, мой первый взгляд на критику кода состоит в том, чтобы попытаться взять его объективно и извлечь из него уроки.
источник