Недавно AWS анонсировала предварительную версию CodeWhisperer, помощника по написанию кода на базе машинного обучения, который помогает вам автоматически дополнять свой код. Это также помогает вам сканировать любые проблемы безопасности, которые могут быть в вашем коде. В течение периода предварительной версии CodeWhisperer доступен всем разработчикам по всему миру бесплатно. В настоящее время он доступен только для Python, Java и Javascript. В этом блоге я буду рассматривать только предложения по коду на Python, если вы хотите увидеть то же самое для Java или Javascript, дайте мне знать в комментариях.

С чего начать??

Установите AWS Toolkit в JetBrains IDE или VSCode. В настоящее время он находится в предварительной версии, поэтому вам нужно будет Подписаться на предварительную версиюи перейти к инструментам разработчика в наборе инструментов AWS (обычно находится в левом нижнем углу), ввести свою предварительную версию. Код доступа, и вы должны быть готовы начать работу.

Как это работает?

Разработчики просто должны написать имя функции в описательной форме, а CodeWhisperer поможет вам выполнить функцию всего за 2 клика. Например, если вы напишете имя функции как «insert_to_sqs» и нажмете «Alt+c» в Windows или «Cmd+c» на Mac, вам автоматически будет предложена полная функция (как показано на рисунке ниже). Затем вы можете нажать «Tab», чтобы использовать код, и все!!!

Примеры:

CodeWhisperer не ограничивается предложениями кода для сервисов AWS, но может давать предложения для любого универсального кода.

Текущие проблемы/ограничения:

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

  • Он дает максимум 5 предложений.
  • Он ограничен получением кода для одной функции, но если предлагаемый код использует какую-то другую функцию, он не сможет получить и эту функцию. Позвольте мне объяснить это на примере ниже. когда я искал «rsa_encrypt_with_private_key», он дал мне функцию, которая использует другую функцию «rsa_encrypt». Поэтому в идеале было бы хорошо также импортировать вспомогательную функцию, если предлагаемый код использует ее. Хотя самое приятное то, что на следующей строке, если я ищу «rsa_encrypt», я получаю нужную мне функцию.

  • Предложения иногда абсолютно одинаковы, имеют одинаковый код и несколько слов в строке документа.
  • Не дает строку документации для всех предложений кода.
  • Дает предложения кода, который устарел. Таким образом, хотя мы и получаем код, его нельзя использовать.
  • Иногда он извлекает половину кода.. если вы посмотрите в конец, после Delay: 10 ничего нет. Предложение кода резко останавливается. Точно так же на втором изображении он просто получает некоторые операторы импорта, которые не имеют смысла.

Заключительные мысли:

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

Если вам понравился этот пост, пожалуйста 👏👏за него, подписывайтесь на меня, если хотите читать больше таких постов!

Твиттер: https://twitter.com/IVaibhavMalpani
LinkedIn: https://www.linkedin.com/in/ivaibhavmalpani/