Создайте библиотеку знаний (для любого языка) с помощью ИИ и превзойдите всех своих коллег.

Все говорят о том, как использовать ChatGPT и OpenAI для автоматизации части своей работы и как это заменит всех инженеров-программистов через X лет.

Я начал использовать его каждый день для задач кодирования. Я был бы сумасшедшим, если бы не стал. Это экономит так много времени. Откровенно говоря, он часто пишет код лучше, чем я.

Однако вы также можете использовать ChatGPT в качестве инструмента обучения.

Позвольте ChatGPT стать вашим личным наставником. Это бесплатно и может хранить обширную библиотеку внутри инструмента.

Совет: задавайте правильные вопросы.

Выберите предмет, который хотите изучить, и позвольте ChatGPT или другим инструментам искусственного интеллекта научить вас. Ужасно, насколько он хорош. Я выбрал что-то фундаментальное, о чем я уже много знаю, чтобы я мог это проверить. Я выбрал Python Strings.

Если вы только начинаете изучать Python, лучше всего начать с изучения встроенных типов. Знаете ли вы разницу между str и bytes? Вы знаете, когда один используется вместо другого? Знаете ли вы, как конвертировать между ними и почему вам это нужно?

Вот пример того, как вы можете использовать ChatGPT в качестве своей личной базы знаний и опередить инженеров, которые таковыми не являются.

# 1 Скажите ему написать вам функцию.

«Напишите мне функцию Python, которая принимает astrили abytes и всегда возвращает строку».

Он ответил функцией и подробным объяснением, почему он был написан именно так.

# 2 Задайте дополнительные вопросы, чтобы узнать больше.

«В чем разница между typebytesи typestr

Вам не нужно упоминать здесь Python, потому что он помнит ваш предыдущий вопрос. Я рекомендую копнуть глубже, как только вы попросите его написать кусок кода, потому что вы можете многому научиться.

# 3 Расширьте свои вопросы, чтобы узнать, как сделать правильный выбор в своем коде.

«Когда бы вы выбрали bytesа неstr

Это так важно для обучения.

Не только использовать конструкцию, но и выяснить, почему и когда вы будете ее использовать. Это может помочь вам изучить тонкости языка.

Это навыки старшего инженера. Вы никогда не должны останавливаться на том, чтобы часть кода работала. Было бы лучше, если бы вы узнали все, что могли, о том, как работает код, чтобы в будущем вы могли сделать правильный выбор и построить его читабельным, надежным, повторно используемым и масштабируемым образом.

# 5 Попросите его написать модульные тесты

«Можете ли вы написать модульный тест для проверки функции?»

Он написал тест для счастливого пути, который происходит, когда функции заданы правильные параметры и все работает гладко.

Позже я попросил его протестировать пограничные случаи, и он тоже хорошо с этим справился.

Изучение модульных тестов, написанных инструментом или хорошим старшим инженером, может научить вас писать более качественный код.

ChatGPT знает, что тестировать, чтобы попытаться сломать ваш код, поэтому вы можете научиться писать для пограничных случаев и сделать свои функции более надежными.

Возьмите кусок кода, который вы написали, и попросите его написать модульный тест. Он может написать тест, который сломается и поможет вам найти уязвимости в вашем коде.

ChatGPT выбралunittest, встроенную среду модульного тестирования Python, не запрашивая, какую среду тестирования использовать. Чтобы использовать конкретный фреймворк, такой какpytest, вам нужно указать его в своем приглашении.

Многим новым разработчикам нужна помощь, когда их просят написать модульные тесты. Может потребоваться время, чтобы понять, с чего начать. Использование ChatGPT для начала работы и создания комплексного набора тестов сэкономит вам много времени и поможет учиться в процессе работы.

#4 Сохраните чат и создайте библиотеку знаний

Я сохранил этот чат как Python: Strings, и теперь я могу вернуться и сослаться на то, что я узнал, в любое время.

Начните новый чат и задавайте вопросы о функциях Python или любой другой интересующей вас теме.

Сохраняйте все вопросы и ответы по каждой теме в отдельном чате, и вскоре у вас будет справочная библиотека, к которой вы сможете вернуться в любое время.

Чему я научился, используя ChatGPT в качестве личного репетитора

ChatGPT пишет отличный код на Python (и я уверен, что и на других языках тоже).

Он пишет код Pythonic, который является надежным, читабельным и хорошо организованным. Я часто пишу кусок кода самостоятельно, а затем прошу ChatGPT сделать то же самое и сравнить.

Я никогда не копирую и не вставляю код, который он пишет, и называю его хорошим. Я анализирую, почему код был написан именно так, и выбираю лучший способ. И, конечно же, тщательно тестирую. Обычно я получаю гибридный фрагмент кода.

Он пишет код и объясняет его.

Это как ваш личный репетитор. Большинству программистов необходимо понять, почему они пишут код, который они делают. Они просто пытаются заставить его работать.

Инженеры, которые понимают, почему они написали код именно таким образом, и могут хорошо это объяснить, смогут оставаться впереди в этом новом мире вспомогательного программирования.

Это может помочь вам организовать ваш код.

Одной из проблем, которые я помню, когда был начинающим программистом, было научиться хорошо организовывать кодовую базу. Написание удобочитаемого управляемого кода имеет важное значение, чтобы вы в будущем сами и ваши товарищи по команде могли быстро перейти к принципу, который нуждается в исправлении или изменении.

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

Если не было запроса, он не писал код производственного уровня.

Он не включает обработку ошибок, ведение журнала или другие элементы, необходимые для запуска вашего кода в производство. Например, если ваш код обращается к внешним системам, таким как базы данных или сторонние службы, вам необходимо добавить обработку ошибок или регистрацию в вашем коде, чтобы убедиться, что он не сломается в рабочей среде, и иметь возможность устранять неполадки, если это произойдет.

Вы должны попросить ChatGPT добавить эти вещи специально. Вы должны знать лучшие практики и подсказывать ChatGPT, чтобы добавить их правильно.

Если вам нужны передовые знания, они вам в этом не помогут (пока).

С момента публикации этой статьи доступная версия ChatGPT обучалась только на данных до сентября 2021 года. В ней не будут использоваться какие-либо новые функции. Для кода Python это означает, что он не будет использовать никаких новых конструкций из Python 3.11 или 3.12.

Если вы заплатите за версию Plus (20 долларов в месяц), она даст вам более актуальную информацию, но на данный момент она никогда не будет в режиме реального времени.

Вам придется вернуться к Google и найти хороший учебник, документацию или курс, чтобы узнать, есть ли способы улучшить код с помощью новейших функций Python.



Вы можете создать учебную библиотеку, поскольку в ней сохраняются все ваши разговоры.

Начните новый чат для каждой новой области языка, которую вы изучаете, и назовите их соответствующим образом. Вы можете сделать Python: Strings, а затем Python: Functions и создать справочную библиотеку, чтобы продолжать к ней возвращаться.

Заключение

Как инженеры-программисты, мы должны использовать ИИ, потому что, если мы этого не сделаем, мы быстро останемся позади. Научиться хорошо программировать и минимизировать время, затрачиваемое на создание новой функции, веб-страницы или сценария, — вот два способа, которыми мы можем использовать ChatGPT, чтобы улучшить себя как инженеров-программистов сегодня.

Если вы еще этого не сделали, я рекомендую вам начать использовать ChatGPT и другие инструменты, чтобы помочь в написании кода и узнать, как и почему то, что вы создаете.

Ваши коллеги, не использующие ИИ, могут быть поражены вашими новыми знаниями.

👩🏻‍💻 Просмотрите мой профиль и подпишитесь, чтобы получить больше советов по чистому программированию, продуктивности разработчиков и тому, как выделиться среди инженеров-программистов!

📖 Присоединяйтесь к программе Medium member всего за 5$, чтобы получить неограниченный доступ ко всем статьям на Medium. Часть вашего членского взноса будет передана мне без каких-либо дополнительных затрат для вас.



Ресурсы