Используй ЭТО чтобы НЕ ОТСТАТЬ! Программирование меняется с ИИ инструментами?

Python Hub Studio
14 Jun 202429:05

Summary

TLDRThis video script offers a comprehensive review of five free programming assistants that function as plugins in popular code editors. The host discusses their free tiers, suitable for individual use, and tests two of them with real web application code. The script delves into the practical application of these tools in real-world projects, their advantages, and the potential issues they may introduce for programmers. It also explores the assistants' capabilities, such as code generation, testing, and improvement suggestions, emphasizing the importance of checking and adapting the generated code to meet specific project standards.

Takeaways

  • 😀 The video provides an overview of five free programming assistants that function as plugins in most popular editors.
  • 🔍 The focus is on options that can be used for free, with a free tier offering certain features, suitable for those not willing to pay for such tools at the initial stages.
  • 🛠 The video discusses the practical use of these assistants in real-world projects and the presenter's personal experience with them, including advantages, disadvantages, and potential issues.
  • 🔑 The first tool reviewed is 'Code' by S Company, which offers a free tier with a limit on autocompletions per month, and can be installed as a separate plugin in any preferred editor.
  • 📚 Amazon Whisper (now with a new name and website as of May) is another tool that offers basic code generation based on comments and descriptions, with a free tier including unlimited auto-completion of code.
  • 🔄 The video also covers 'Codeium' and 'Codium', which have similar names but distinct features; 'Codeium' provides full access to the context of the entire repository for more contextualized suggestions.
  • 📝 'Codium' emphasizes code testing, offering to generate unit tests or find bugs and errors within the code, with a special focus on improving code quality.
  • 🚀 The video demonstrates testing the assistants with real code, including generating code snippets, explaining code functionality, and creating unit tests.
  • 🔎 The importance of checking the code generated by the assistants is highlighted, as it may need to be adapted to fit specific project standards and requirements.
  • 🛑 The video points out that while these tools can speed up certain routine tasks, they are not universally adopted in the industry due to concerns over data security and the need for manual code review.
  • 💡 The presenter shares personal insights on the use of such tools, noting that while they can be helpful for routine tasks, they do not replace the need for a developer's understanding and involvement in the coding process.

Q & A

  • What is the main topic of the video script?

    -The main topic of the video script is an overview of five free programming assistants that work as plugins in most popular code editors.

  • What is the purpose of these programming assistants mentioned in the script?

    -The purpose of these programming assistants is to aid in coding by providing functionalities such as code completion, generating code blocks, and assisting with debugging and testing.

  • Is there a limitation for the free tier of these programming assistants?

    -Yes, the free tier of these programming assistants is limited to individual use and comes with certain restrictions, such as a cap on the number of code generations per month.

  • What is the name of the first programming assistant mentioned in the script?

    -The first programming assistant mentioned in the script is 'Code' from the company 'S', which can be installed as a plugin in any preferred editor.

  • How does the Amazon Whisper programming assistant work?

    -Amazon Whisper, which has now been renamed, works by generating code based on comments and descriptions provided by the user, offering a convenient way to assist in coding tasks.

  • What is the significance of the 'Codeium' programming assistant in the context of the script?

    -Codeium is highlighted for its ability to provide full access to the context of the entire repository, offering suggestions and tips in the context of the whole project, which is considered quite useful.

  • What feature does the 'Codium AI' programming assistant emphasize on, according to the script?

    -Codium AI places a special emphasis on testing the user's code, offering to find bugs, suggest improvements, and even generate ready-to-use unit tests.

  • What is the script's stance on the use of programming assistants in real-world projects?

    -The script suggests that while programming assistants can be beneficial, they are not universally adopted in real-world projects due to concerns over data leakage and the need for manual code review.

  • How does the script address the issue of code quality when using programming assistants?

    -The script emphasizes the importance of checking the code generated by assistants to ensure it meets standards, works correctly, and is free from errors, as the assistants themselves may generate imperfect code.

  • What are some of the practical examples given in the script to demonstrate the use of programming assistants?

    -The script provides examples such as generating a decorator function to check the execution time of a method, improving code by adding type annotations, and generating unit tests for existing code.

  • What is the final opinion of the script regarding the use of programming assistants for programmers?

    -The script concludes that while programming assistants can speed up certain tasks by around 20-30%, they are not a replacement for a programmer's skills and should be used as a tool to aid in routine tasks.

Outlines

00:00

😀 Introduction to Free Programming Assistants

The speaker greets the audience and introduces the topic of the video: an overview of five free programming assistants that function as plugins in popular code editors. These assistants are available for free with certain features on a 'free tier' and are designed to help programmers at the initial stages who may not want to pay for such tools. The video promises to test two of these assistants on real web application code and discuss their practical use in real-world projects, including the speaker's personal experience, advantages, disadvantages, and potential issues that may arise from using such assistants.

05:02

🔍 Exploring Features and Limitations of Coding Assistants

This paragraph delves into the features and limitations of the coding assistants, starting with 'Коди' by S.T. The free tier is limited to individual use with a cap on code completions per month. The assistant offers autocomplete suggestions and a chat with a bot in the editor, but with certain restrictions. The speaker also mentions Amazon Whisper, which has undergone some changes including a name change and website update. It provides basic code generation based on comments and descriptions, with a free tier that includes unlimited code autocompletion and a chat feature with limitations during high load.

10:03

🛠 Testing Coding Assistants with Real Code

The speaker discusses the process of testing two coding assistants, 'Кодиум' and 'Codium AI,' with a focus on their ability to generate tests and improve code quality. 'Кодиум' is highlighted for its full access to the context of the entire project, providing relevant suggestions and code improvements. 'Codium AI' is noted for its emphasis on testing, offering to generate unit tests automatically. Both assistants have a free tier for individual developers, with limitations on certain features like chat with the bot and code generation. The speaker demonstrates the process of using these assistants to improve and test code snippets.

15:03

📝 Practical Application and Contextual Understanding of Coding Assistants

The paragraph describes the practical application of coding assistants, emphasizing their ability to understand and provide suggestions within the context of the entire project. It mentions the process of adding context to the assistants to improve their suggestions and the ability to generate unit tests for the code. The speaker also discusses the assistants' capabilities to explain code, improve it, and detect bugs, as well as their integration with the project's context to enhance code suggestions and documentation.

20:04

🔧 Refining Code with Assistants' Suggestions and Manual Intervention

The speaker continues to explore the coding assistants' capabilities, focusing on their suggestions for code improvement and the manual intervention required to refine the code. They discuss the process of using the assistants to identify and fix bugs, such as unnecessary code and incorrect dictionary keys, and to improve code quality by adding error handling and following best practices. The assistants' ability to generate tests and provide recommendations for code enhancement is also highlighted.

25:04

🤖 Final Thoughts on the Utility of Coding Assistants

In the final paragraph, the speaker shares personal opinions on the utility of coding assistants, noting that they are not universally adopted in the industry due to concerns about data security and the potential for increased time spent on code review. While acknowledging that assistants can speed up certain aspects of coding by 20-30%, they emphasize that the overall workload continues to grow with technological progress. The speaker concludes by discussing their own experience with coding assistants, mentioning their use in personal projects for routine tasks and the importance of maintaining a balance between relying on assistants and understanding the underlying code.

Mindmap

Keywords

💡Programming Assistants

Programming assistants are tools designed to aid software development by providing functionalities such as code completion, bug detection, and even generating code snippets based on descriptions. In the video, the host reviews several programming assistants, emphasizing their utility in enhancing productivity and code quality.

💡Plugins

Plugins in the context of the video refer to extensions or add-ons that can be integrated into popular code editors to provide additional features. The programming assistants mentioned are available as plugins, enhancing the capabilities of the editors they are used with.

💡Free Tier

The free tier denotes a level of service that is available at no cost but with certain limitations. The video discusses the free tiers of various programming assistants, highlighting the features available to users without payment.

💡Code Generation

Code generation is the process of creating code automatically. The video script mentions several instances where programming assistants can generate entire blocks of code based on user input or comments, streamlining the development process.

💡Autocompletion

Autocompletion is a feature that suggests or completes code as a programmer types, based on patterns or previously written code. The video reviews how programming assistants offer autocompletion, potentially increasing coding speed and reducing errors.

💡Chat with Bot

Chat with Bot refers to an interactive feature where users can communicate with an AI bot to get assistance or explanations. The video mentions this feature as part of the free tier of some programming assistants, allowing users to interact and get support within their code editors.

💡Code Testing

Code testing is the process of validating code to ensure it works correctly and meets requirements. The video discusses how some programming assistants can generate unit tests or identify bugs in the code, which is crucial for maintaining code quality.

💡Documentation

Documentation in programming refers to the written explanations or comments that describe how the code works. The video mentions the auto-generation of documentation as a feature of some programming assistants, helping developers maintain clear and understandable codebases.

💡Bug Detection

Bug detection is the process of finding and flagging errors or issues in code. The video highlights the ability of programming assistants to detect bugs, which is essential for debugging and improving the reliability of software.

💡Code Review

Code review is the act of examining code by one or more people to detect issues and suggest improvements. The video script mentions that some programming assistants can perform code reviews, providing developers with feedback on their code's quality and potential areas for enhancement.

💡Productivity

Productivity in the context of the video refers to the efficiency and effectiveness with which developers can write and maintain code. The programming assistants discussed are framed as tools to increase productivity by reducing the time spent on routine tasks and improving code quality.

Highlights

Introduction to five free programming assistants that work as plugins in popular editors.

These assistants are suitable for individual use with a free tier offering certain features.

The importance of learning to use such tools for efficiency in programming.

Review of 'Коди' by S Company, a plugin that can be installed in any editor.

Amazon Whisper, now with a new website and name change, offers basic code generation from comments.

Free tier of Amazon Whisper includes unlimited code auto-completion and a chat with a bot.

Codeium offers full access to repository context for better code suggestions.

Codeium's free tier features unlimited AI code editor assistance and chat with GPT model.

Codium, a plugin for VS Code, emphasizes code testing and generating unit tests.

Codium's free tier includes code generation, chat with GPT, and code improvement suggestions.

Demonstration of using Codeium to generate code based on user input and context.

Testing the assistants with real code to evaluate their practicality and effectiveness.

Using the assistants to find and fix bugs in existing code.

The assistants' ability to generate documentation and improve code quality.

Discussion on whether these tools are widely used in the industry and their adoption challenges.

Personal experience with using these tools and their impact on coding speed and quality.

Final thoughts on the utility of programming assistants and their potential to streamline development tasks.

The presenter's conclusion that while these tools can speed up certain aspects of coding, they are not a replacement for a developer's skills.

Transcripts

play00:00

[музыка]

play00:09

Привет френс Давно я не выходил в эфир и

play00:12

будем исправляться Как говорится Итак в

play00:14

этом видео у нас будет обзор на пять

play00:16

бесплатных и ассистентов для

play00:18

программирования которые работают как

play00:19

плагины в большинстве популярных

play00:21

редакторов и подчеркну будет

play00:24

рассматриваться те варианты которые

play00:26

могут использоваться бесплатно то есть

play00:29

них латный тариф с определёнными

play00:31

функциями ведь Как говорится не ско

play00:34

пайло тамм единым и не у всех особенно

play00:36

на начальных этапах имеется желание

play00:38

платить за подобное удовольствие но тем

play00:40

не менее сфера развивается появились

play00:43

такие и инструменты в принципе не только

play00:45

в программировании а везде и просто

play00:47

необходимо этим уметь пользоваться и

play00:48

вообще в принципе использовать в работе

play00:51

конечно же если это позволяется на вашей

play00:53

работе пользоваться такими вещами Именно

play00:56

поэтому в этот обзор вошли пять самых

play00:58

популярных и инструментов два из которых

play01:01

мы протестируем сейчас на реальном коде

play01:03

веб-приложения а также между делом

play01:05

захватим такие темы используются ли на

play01:08

самом деле и такие инструменты в

play01:10

реальной работе то есть какими-то

play01:12

реальными проектами на фирмах и так

play01:13

далее использую ли я его в своей работе

play01:16

к чему это приведёт какие есть плюсы

play01:18

минусы и какие вот реально вот косяки

play01:20

есть при использовании не косяки именно

play01:23

ассистентов А какие проблемы влечёт Это

play01:26

для программиста причём не для сферы в

play01:29

целом а именно для конкретного

play01:31

программиста Итак завариваем чаёк пока

play01:35

учёные разрабатывают интерфейс мозг

play01:37

компьютер так все фронтенд напряглись А

play01:41

мы приступаем к нашему

play01:43

обзору и в первую очередь для тех кто

play01:45

только вливается в айтиш подобные вещи

play01:48

необходимо рассматривать как скажем так

play01:50

АВ compete New Generation и будет

play01:53

помогать вам скажем так предугадывать

play01:55

Ваши действия

play01:58

генерируем ещё а скажем так целые блоки

play02:01

кода это значит что не нужно пытаться

play02:03

взвалить на него всю вашу работу ведь

play02:06

всё что он предлагает необходимо ещё

play02:08

проверять дописывать переписывать И

play02:10

вообще смотреть что происходит Итак

play02:12

первый на который мы просто посмотрим

play02:15

скажем так просто в браузере мы его

play02:16

тестировать непосредственно сейчас в

play02:18

редакторе не будем но вы его можете

play02:19

точно также установить отдельно

play02:22

бесплатно в свой лю любимый редактор

play02:25

этот плагин называется Коди от фирмы S

play02:28

То есть вы Элементарно берёте любой

play02:30

редактор переходите в расширение

play02:33

набираете здесь коде Это про него сейчас

play02:36

конкретно и вот он коде сразу переходим

play02:40

в pring и посмотрим что у него есть в

play02:44

фри режиме скажем так Итак фри для

play02:47

во-первых Это для любой фри тариф в этих

play02:50

всех инструментах предназначен

play02:52

исключительно для индивидуального

play02:54

использования и здесь мы сразу видим что

play02:56

есть ограничение по крайней мере сейчас

play02:58

на момент записи видео

play03:00

автокомп в месяц то есть 500 генераций

play03:03

для завершения кода который Вы печатаете

play03:06

и так далее первый вариант второй

play03:09

вариант от

play03:10

Amazon Amazon Whisper во-первых он

play03:14

сейчас немного изменился то есть

play03:16

название у него сейчас поменялось как мы

play03:18

видим новость С мая вот который уже

play03:20

прошёл у него новый вебсайт

play03:24

посетить соответственно и как плагин в

play03:27

редакторе он так и будет называться

play03:30

Давайте на него глянем вот он Amazon

play03:33

конечно же как и у всех этих пяти есть

play03:36

такая вещь как базовая скажем так

play03:38

которая генерирует код по комментариям

play03:40

по вашему описанию что достаточно удобно

play03:42

в принципе это основная такая главная

play03:44

классная вещь подобных ассистентов Ну

play03:47

перейдём сразу в Прай и посмотрим что

play03:50

доступно в бесплатном тарифе во-первых

play03:53

автозавершение кода Судя по всему без

play03:55

лимита потом какой плюс есть он

play03:58

отображает ели на фрагмент какого-то

play04:01

кода Есть лицензия и какая она и

play04:04

ограниченное количество то есть чат с В

play04:07

общем час с Ботом в редакторе То есть

play04:10

это всё немного будет уже ограничено

play04:12

дальше следующий T9 перейдём сразу в

play04:16

ценообразования так про Enterprise мы

play04:18

пролистывать так базовый что у нас здесь

play04:21

полная поддержка ассистента то есть

play04:23

генерации автодополнение кода и IP Chat

play04:27

в вашем редакторе может быть ограничен

play04:29

Ну то есть имеется в виду если вдруг

play04:31

сильно большая нагрузка на бесплатных

play04:33

юзеров может быть некое ограничение

play04:35

наложено но только при большой нагрузке

play04:37

а тестировать мы будем следующие два у

play04:39

них очень похожее название кодиум кодиум

play04:42

A и пишется Кодем но тоже читается как

play04:46

кодиум Итак начнём Вот например с этого

play04:50

кодиум чем он мне особенно понравился

play04:54

во-первых Кроме того что точно также

play04:56

дополняет предлагает тот код который

play04:59

подразумевается будет написано во-вторых

play05:01

полный доступ к контексту всего

play05:04

репозитория то есть вы работаете с

play05:05

каким-то проектом у вас там много-много

play05:07

файлов папок и так далее То есть доступ

play05:10

и подсказки соответственно у вас будут в

play05:14

контексте всего вашего проекта что

play05:16

достаточно круто Итак что у него с

play05:18

ценообразованием и с функциями которые

play05:21

доступны Итак индивидуально бесплатно

play05:24

что у нас есть быстрое автодополнение

play05:26

кода эдитор АИ то есть Вы можете любой

play05:30

фрагмент кода взять и спросить у него о

play05:32

каких-то багах которые есть он посмотрит

play05:34

нет ли там ошибок как-то улучшить код

play05:36

уменьшить его заменить какие-то функции

play05:39

другими и так далее То есть всё это есть

play05:41

безлимитное использование можете

play05:43

добавить какой-то отдельный файл в

play05:45

контекст для того чтобы у вас Да там

play05:47

какие-то сниппеты есть то есть там

play05:48

заготовочка и так далее а также доступен

play05:51

чат с gpt моделью там используется gpt

play05:54

3,5 что особо Круто И то точно также

play05:57

безлимитно это первый ассистент который

play05:59

мы сейчас будем именно тестировать и

play06:01

второй codium A он доступен Как плагин

play06:05

который называется Вот именно вот этот

play06:07

который мы сейчас смотрим codium он

play06:09

доступен Как плагин в vs CDE называется

play06:12

codium Mate в чём особенность этих двух

play06:16

вот я их сейчас установил оба сейчас мы

play06:18

их будем тестить и посмотрим что к чему

play06:21

в чём особенность cod Mate и этот кодиум

play06:26

тоже может генерировать тесты но у

play06:30

codium ai который как codium Mate особо

play06:34

скажем так особый акцент на тестировании

play06:36

вашего кода То есть вы его можете точно

play06:38

также попросить найти баги ошибки

play06:40

подсказать что-то но также сгенерировать

play06:43

готовые Юнит тесты или просто даже не

play06:46

генерировать допустим вам сами тесты не

play06:48

нужны Вы можете при помощи него выбрать

play06:50

тесты которые провести над кодом он их

play06:52

сам сгенерирует скажем так отдельно у

play06:55

себя и протестировать код на варианты

play06:57

каких-либо косяков и так далее что у нас

play07:00

с pricing здесь у нас точно так же для

play07:03

единичного девелопера бесплатно и он

play07:06

предлагает в этом тарифе Обратите

play07:09

внимание генерация кода платная но здесь

play07:12

именно во-первых у вас есть точно такой

play07:15

же чат с gpt во-первых во-вторых

play07:19

улучшение вашего кода подсказки по нему

play07:22

плюс есть такая отдельная Классная штука

play07:24

когда вы именно начинаете его именно

play07:26

использовать над вашим проектом

play07:28

во-первых у него тоже есть полный доступ

play07:30

к контексту всего вашего проекта он

play07:32

начинает подсказывать некие такие

play07:34

классные штуки например А вы

play07:36

позаботились там о безопасности там в

play07:39

таком-то таком-то участке кода или в тех

play07:42

изменениях которые вы внесли какие-то

play07:44

есть там косяки То есть он даже так Это

play07:46

умеет делать конечно же у них у всех

play07:49

есть такая штука Как автогенерация

play07:51

документации что тоже очень круто баг

play07:55

детектор и код review и советы по

play07:58

улучшению и теперь установив эти два я

play08:01

перехожу уже непосредственно к

play08:05

тестам так я установил оба и кодим и

play08:08

Коди Mate и сейчас будем начнём с тестов

play08:11

с самого простого что вообще изначально

play08:13

появилось во всех подобных ассистентах Я

play08:15

даже сейчас открою сразу кодиум именно

play08:17

он сейчас и будет нам подсказывать здесь

play08:19

что писать а именно генерация кода по

play08:22

мере вашего набора То есть например вы

play08:24

можете Вот так указать Определи мне

play08:26

декоратор функцию декоратор для того

play08:29

чтоб проверять время работы некой

play08:31

функции так клавишей T подтверждаем он

play08:34

нам предлагает Tools и Waps и и Time

play08:37

вроде неплохо Ром переходим так он

play08:39

начинает нам так

play08:40

та и что у нас тут у raps есть вот этот

play08:44

импорт он сделал для того чтобы мы могли

play08:46

потом здесь писать документацию которая

play08:48

будет отображаться именно документация

play08:51

из этого декоратора будет отображаться в

play08:52

функции которую мы будем декорировать В

play08:54

общем удобная штука Классно он всё это

play08:56

подсказал так Итак для тех кто Тим ещ не

play08:59

сталкивался как с этим вообще то есть

play09:02

как это воспринимать а именно тема такая

play09:05

Ой зачем я всё это учу ведь глянь как

play09:08

получается что написал всего лишь

play09:09

комментарий и вот уже готовый кусочек

play09:11

есть какого-то там Коди так вот убогой

play09:14

друзья Дело в том что Несмотря на то что

play09:17

всё это было сейчас предложено вот всё

play09:19

готова До функция выглядит всё просто

play09:21

замечательно и вот даже вот это решение

play09:23

прям суперская В чём смысл Вам

play09:26

необходимо это проверить то что он

play09:28

сгенерировал это круто вам нужно вообще

play09:30

посмотреть Подходит ли этот код под

play09:33

вообще работает ли он это раз во-вторых

play09:34

подходит ли он под стандарты работы

play09:37

везде есть какие-то стандарты исполнения

play09:39

в любых проектах То есть это какая-то

play09:41

простая функция А если что-то сложнее

play09:43

начинает браться какой-то фреймворк Там

play09:45

и так далее То есть там ещё нужно всё

play09:47

это проверять смотреть дополнять

play09:49

изменять приводить в вид соответствующий

play09:52

а также брать на себя ответственность за

play09:54

работоспособность этого кода что очень

play09:56

важно Итак всё супер э рутину вот такую

play10:00

Да рутину чтобы решить которую пришлось

play10:02

бы даже программистам с опытом всё это

play10:05

вспоминать как там вот всё это сделать

play10:08

там за секти А та то-сё вот мы быстро с

play10:11

вами набросали

play10:12

Отлично что мы можем и сейчас у нас

play10:14

открыт вот чат без проблем во-первых

play10:17

выделяем код вот так сделали и прямо вот

play10:21

не копируя его никуда спрашиваем здесь

play10:24

Объясни мне этот код и не обязательно

play10:26

это писать на английском без проблем и

play10:28

что у нас здесь Так этот кото определяет

play10:30

декоратор та который измеряет время в

play10:31

общем вы поняли суть суть в этом так всё

play10:34

супер подробнее Ну давайте подробнее что

play10:36

он там напишет так подробнее

play10:39

поехали конечно и вот давай расписывать

play10:43

супер ползунок побежал Всё мы он здесь

play10:45

всё Расписал нам замечательно также

play10:48

Обратите внимание здесь у нас

play10:49

присутствуют такие вещи как так cate Это

play10:52

мы сейчас пока его не трогаем с кодим

play10:54

фактор Что это значит он нам предлагает

play10:57

что мы можем сделать с этим кодом

play10:59

добавить комментарий то есть продовать

play11:01

этот код добавить Принт для того чтобы

play11:04

проще было дебажить Ну интересное такое

play11:07

предложение добавить аннотации типов

play11:09

коду полезно cleanup то есть прибрать

play11:12

этот код Если вдруг есть какие-то лишние

play11:14

фрагменты неэффективно и так далее

play11:16

проверить на баги например нажмём

play11:18

проверить на баги что у нас произойдёт

play11:21

так он добавил нам в данном случае он

play11:24

тут дожать нечего но вот он добавил нам

play11:26

переписал TR except хочет добавить а это

play11:29

удалить что мы делаем так Alt Add

play11:31

зажимаем всё подтвердили У нас

play11:34

немножечко изменился этот код классно

play11:36

дальше что ещё есть

play11:39

реактор сгенерировать Юнит тесты тоже

play11:42

очень круто нажимаем на него Юнит тесты

play11:45

у нас будут генерироваться здесь

play11:47

конкретно вот у нас здесь в окошечки

play11:49

пожалуйста всё это тоже присутствует

play11:50

пожалуйста добавляем их или в этот файл

play11:52

или отдельный модул себе делаем с

play11:55

тестами для того чтобы протестировать

play11:56

этот код что достаточно удобно удобно

play11:59

так это мы делаем с кодиум это самые

play12:01

простые такие вещи плюс мы без проблем

play12:04

можем здесь написать Давайте даже

play12:05

сделаем так перенесём вот это то что у

play12:07

нас есть отдельно попросим его вот здесь

play12:10

сделать следующее что-нибудь такое

play12:12

тривиальное простое да для пока для

play12:14

начинающих потом перейдём уже к проекту

play12:17

на Джанг посмотрим как он работает

play12:20

попробуем такой знаете пример задачника

play12:22

напиши рекурсивно функци нахождения фи и

play12:26

что вот у Нант Прим обра внимание

play12:30

так и так далее Что мы делаем можем

play12:32

скопировать А можем сделать То есть

play12:34

вставить в активный файл Так и делаем

play12:37

Давайте попробуем именно этот пока что

play12:39

помощник его от Фактори баги так кликаем

play12:42

по специальной кнопочки и здесь так

play12:45

давайте для начала Check po что он нам

play12:48

найдёт Сам же себе проверить Ну

play12:50

во-первых добавил сразу документацию не

play12:52

спрашивая на документация в любом случае

play12:54

нужна вопервых он сразу добавляет

play12:58

проверку че сразу плюс обрабатывает ещё

play13:01

один вариант ошибок и дорабатывает вот

play13:04

такие вещи если так О да годится так А

play13:09

здесь что здесь он просто да устранил

play13:11

неправильный элс конечно же Обратите

play13:13

внимание видите Да То есть он сам сам

play13:15

свои же скажем так косяки генерации

play13:18

исправляет что достаточно удобно так

play13:21

если мы не не хотим reject Ну или просто

play13:23

соглашаемся всё супер по поводу

play13:25

контекста здесь есть дополнительная

play13:26

вкладка переходим в контекст и здесь

play13:29

Active докумен - это Test P и Local

play13:33

indexes то есть всю папку I tests вот

play13:36

которая здесь сейчас открыто он тоже

play13:38

просматривает для того чтобы улучшить

play13:40

подсказки которые нам есть но мы можем

play13:42

добавить какой-либо контекст ещё

play13:44

дополнительно тыкаем на кнопочку и

play13:45

добавляем попросим его переписать скажем

play13:49

так эту функцию из рекурсивного варианта

play13:51

в нормальный итеративный справится ли он

play13:55

что у нас здесь есть значит давайте

play13:58

посмотрим так make this Faster Mon fent

play14:01

есть Давайте посмотрим предлагает

play14:03

итеративный вариант решения что очень

play14:06

замечательно то есть ваш код будет

play14:08

проверен в принципе Любой да то есть

play14:10

если он не эффективный можно его вот так

play14:12

вот улучшить Так что супер теперь вот

play14:15

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

play14:17

попробуем для начала записать какой-то

play14:19

импорт так так F Tools нет И что второй

play14:24

вариант Нет не то он хочет пытается

play14:26

сразу заново сам проверить записать

play14:28

здесь декоратор Ну нет мы давайте так

play14:30

From так From Mod import Time it

play14:33

подтверждаем И что он будет делать

play14:35

дальше так так Time it есть лишняя

play14:39

строчечку не без этого так всё это всё

play14:40

работает замечательно те же самые опции

play14:43

доступны и у cod Mate То есть если мы

play14:45

тык нем CDE Mate во-первых можно сразу

play14:47

Test explain Ну если вы нажмёте explain

play14:49

смотрите что сейчас произойдёт

play14:52

открывается окошко где для начала

play14:54

Необходимо выбрать контекст Да в котором

play14:56

мы будем работать это Test Pie и вот

play14:59

фибоначи ну он просит

play15:01

выделить

play15:03

заново так и сделаем выбрали L и теперь

play15:07

нажимаем cate опять explain Поехали И

play15:11

пожалуйста описание Ну в данном ну здесь

play15:14

он в данном случае отвечает на

play15:15

английском То есть но мы можем попросить

play15:17

его точно также здесь на любом другом

play15:18

языке ответить по выделенному тексту то

play15:20

есть работает Это точно так же Но самое

play15:23

интересное здесь следующее конкретно уже

play15:25

у

play15:26

этого что мы здесь можем сделать дава

play15:29

Итак проверим тест generate UN Test for

play15:32

тыкаем и что у нас здесь происходит

play15:35

открывается отдельная панелька и у нас

play15:38

здесь генерируются тесты то есть и он

play15:40

предлагает во-первых сразу объяснение

play15:43

кода то есть что это делается инпуты и

play15:46

как вообще для чего этот код нужен что

play15:49

тоже очень полезно точно также Можно

play15:51

спросить его и здесь и об этом Здесь

play15:52

точно также доступен чат с моделью gpt

play15:56

поэтому мы здесь даже вот так вот скажем

play15:59

так у нас открыт файл и мы без проблем

play16:01

здесь вот здесь у него можем спросить он

play16:04

отвечает на том языке на котором вы

play16:06

ввели к нему вопрос но так код

play16:08

explanation есть и Test для того чтобы

play16:11

работал СТ во-первых необходимо

play16:12

установить библиотеку P Test так P Test

play16:16

всего лишь P inst P Test всё или

play16:18

глобально или лучше в окружении всё-таки

play16:20

так и теперь здесь

play16:24

так во-первых он уже сделал несколько

play16:26

тестов так goest во-первых он проверяет

play16:29

если введено значение один то

play16:31

возвращается нолик Ну да так алгоритм

play16:34

работает так положено и

play16:36

здесь так

play16:39

fib так и происходит Всё эти два теста

play16:42

есть И теперь мы смотрим То есть он нам

play16:44

предлагает какие варианты вообще можно

play16:46

применить для тестирования подобного

play16:47

кода то есть фна 2 должно возвращать

play16:50

единичку мы так давайте Test он сечас

play16:53

добавится здесь вни внизу е один

play16:56

дополнительный

play16:59

Давайте вот так на десятку и на

play17:02

двадцатку сделаем дальше

play17:05

следующее

play17:07

так так это всё уже такое во-первых

play17:10

дальше что мы можем здесь сделать сразу

play17:12

здесь не перенося сюда никакой код Run

play17:15

All

play17:19

Test и мы смотрим так Pass то есть всё

play17:22

окей проверяем всё все тесты сработали

play17:25

наш код работает что очень-очень круто

play17:29

но так можно копировать отсюда тесты

play17:32

тесты с копирование вставить их

play17:33

куда-нибудь тоже достаточно Удобно или

play17:35

Open As File у вас откроется временный

play17:38

временный файл Где будут все эти тесты

play17:40

Потому что если куча Кода да куда его

play17:42

тут вставлять и можно посмотреть вкладок

play17:45

контекст так то есть он видит что есть

play17:48

контекст вот пожалуйста модуль да то

play17:50

есть импорт в этот Файлик есть всё

play17:51

прекрасно просматривается замечательно

play17:54

так с простыми тестами закончили Кроме

play17:56

этого Да кстати cod Mate что у нас ещё

play17:59

Давайте сразу так чтобы он ему было

play18:01

удобнее не всегда срабатывает без

play18:02

выделения текста Так ну оба

play18:05

они и improve Что у нас по improve так и

play18:09

вот здесь у нас есть специальные скажем

play18:12

так варианты что мы можем сделать Я до

play18:14

этого не попало сюда я удалил проверку

play18:17

что должно быть Ир он подсказывает так

play18:21

необходимо сделать так что лучше сделать

play18:24

так может быть

play18:27

только или код Ну давайте так отметим

play18:30

галочкой это мы хотим так можно

play18:32

немножечко упростить Вот вот эту запись

play18:35

да давайте это сделаем

play18:41

так давайте тоже попробуем так

play18:45

и нет это мы трогать не

play18:49

будем всё

play18:51

нормально

play18:57

применяем Отлично Теперь Так давайте я

play19:00

открою так дн дн это проект дн

play19:04

приложение тот который курс 15 часов на

play19:06

канале есть там где интернет-магазин и

play19:07

так далее и здесь есть несколько скажем

play19:10

так таких небольших косяков Давайте

play19:12

посмотрим во-первых Давайте сразу

play19:14

спросим сразу скажу здесь баг именно вот

play19:16

в этой строчке именно реальный косяк Get

play19:19

list 404 то есть мы здесь получаем лист

play19:21

а должен быть специализированные объекты

play19:23

с базы данных а так как мы получаем

play19:25

здесь лист вот специальной функции то

play19:27

потом невозможно фильтра приме

play19:29

посмотрим справится ли один из них этими

play19:32

вещами Давайте сначала кодим Да вот

play19:34

который первый активировать

play19:35

необязательно Это так просто Давайте Так

play19:38

значит кодим фар И попросим его так

play19:42

Check for

play19:46

poter Так что у нас нам предлагает

play19:49

во-первых Он предлагает нам вот эти

play19:52

строчки поменять Почему здесь указание

play19:55

по умолчанию это было в этом специально

play19:59

для того чтобы это было нагляднее то в

play20:01

случае если там ничего не приходит то

play20:03

возвращается значение Нон в переменную

play20:05

но так как подобная функция Если нет

play20:08

значения по ключу Она и так Нон вернёт

play20:11

поэтому это считается избыточная

play20:13

ненужная запи во-первых предлагает это

play20:15

заменить дальше следующее produc Get L

play20:19

Он предлагает заменить на Cat object 4

play20:23

нет немножко некорректно неправильно так

play20:26

Конкретно этот Бах он не совсем

play20:29

не совсем так как нам нужно

play20:31

определяет Значит мы это

play20:34

всё так что у нас тут ещё по

play20:38

опция

play20:42

Fest нет во-первых Можно попробовать

play20:45

запустить заново или можно спросить у

play20:48

кодим Почему заново потому что скажем

play20:50

так результаты генерации всегда

play20:52

немножечко разные так

play20:54

improve так выставляем опять Vi так и

play20:59

опять cate improve Так и что у нас здесь

play21:03

так valid так

play21:06

нет ничего здесь подобного нет Давайте

play21:09

сделаем это вручную то есть такую этот

play21:12

баг они не нашли так здесь мы сделаем

play21:14

следующее вот это вот так вот уберём и

play21:16

пойдём писать он нам будет сейчас

play21:18

подсказывать если not good Exist что мы

play21:22

здесь сделаем так предлагает Get Ну это

play21:24

немножко неправильно Нам здесь

play21:27

необходи 404 всё вот так вот правильно

play21:30

вот подсказка есть Так это мы сюда

play21:33

импортируем и теперь всё будет работать

play21:36

так как действительно положено Так

play21:38

давайте перейдём в магази здесь сейчас

play21:40

что-нибудь выберем и

play21:44

испоганил которые мы только что с вами

play21:46

обрабатывали всё так и должно быть

play21:49

замечательно с этим всё окей и второй

play21:53

баг который мы сес поправим это у нас

play21:55

здесь быс посмотрим из который на самом

play21:59

деле очень неудобно заметить у меня

play22:01

здесь просто была вот опечатка в ключе

play22:03

словаря которая ошибку вообще никакую не

play22:05

выдаёт Да это у нас ловит там JavaScript

play22:07

и не видно ошибки Ну может в логах там

play22:09

она

play22:10

отображается Попробуем так фактор

play22:13

используем

play22:15

коу И попросим его Что сделать так Check

play22:19

for

play22:22

Box так это мы с вами нет к септы мы не

play22:27

будем делать но он нашл то что у нас

play22:30

здесь неправильный ключ словаре Что

play22:32

замечательно попросим сделать тоже самое

play22:39

ко impr всё нашл НС Да таки Отлично так

play22:46

inp и так далее То есть он ещё

play22:47

подсказывает всякие ещё полезные вещи

play22:49

можно сделать с нашим кодом

play22:52

так так изменить немножечко открить код

play22:57

что в принципе толь

play23:00

Ну и отсюда мы можем без проблем Это ВС

play23:02

сделать например мы Тим

play23:07

исправить что он предлагает вот заменить

play23:11

поэтому мы смотрим

play23:14

ниже

play23:17

ВС

play23:20

в ВС и Даже комментарий

play23:29

ви конечно же будет отдельный Так где у

play23:31

нас здесь вот у нас есть какие-то тесты

play23:34

Да мы прописали для какого-то

play23:35

контроллера тесты Ну вот начали писать

play23:37

Например допустим да я уберу часть из

play23:41

этого Так и что мы здесь можем сделать

play23:44

Итак начали писать тесты начали но нам

play23:46

дальше лень Ну или ускорить Да процесс

play23:48

во-первых кодиум Фактор в таком варианте

play23:50

он нас спрашивает то есть мы

play23:52

непосредственно ему здесь чата можем зде

play23:57

напи То есть первый это первый который

play24:01

плагин нам это помогает делать и можем

play24:04

сделать это при

play24:06

помощи tests То есть если вы делаете

play24:09

тесты с Ну для чего-либо он их здесь

play24:11

генерирует с Ну если у Вас уже есть

play24:14

набросок то в таком случа это реальная

play24:17

Вея но можно точно также через через чат

play24:21

это сделать И пока есть или вы приме в

play24:23

будущем Заплатите за расширенную версию

play24:25

он здесь вам добавит больше тестов

play24:28

которые вы можете скажем так применить к

play24:30

вашей к любому коду не обязательно к Да

play24:34

к веб приложению и Show То есть он

play24:36

предлагает ещё варианты вот все варианты

play24:38

которые можно также применить сделать

play24:40

если вы хотите протестировать что-либо

play24:42

по вашему коду что тоже очень-очень

play24:44

удобно и вот мы видим здесь какая-то

play24:47

рекомендация прилетела от cod Mate аген

play24:50

так Best practice так то есть он что-то

play24:53

вот сейчас вот он заприметил и

play24:55

предлагает добавьте обработку ошибок в

play24:58

для пропущенных для пропущенной пост

play25:01

даты при некорректном объекте Card

play25:03

objects что очень очень

play25:06

замечательно финальные нотки по поводу

play25:08

этих пяти ассистентов это исключительно

play25:11

моё мнение То есть вы можете

play25:12

протестировать первые три которые я не

play25:14

тестировал Возможно они окажутся лучше в

play25:16

каких-то своих аспектах может быть лучше

play25:19

автодополнение

play25:22

по этому поводу А вот теперь по поводу

play25:24

того Применяется ли это сейчас

play25:26

повсеместно в работе сразу говорю Нет

play25:29

потому что не все очень далеко не все

play25:31

фирмы разрешают использовать подобные

play25:33

вещи в работе Почему они просто боятся

play25:37

какой-то там утечки своих данных чего вы

play25:39

там Боитесь непонятно да код не совсем

play25:41

уж такой скажем так секретные Да там ну

play25:45

какая секретность может быть и

play25:46

веб-приложение но фирмы которые например

play25:48

да это продуктовые фирмы какие-то

play25:50

интернет-магазины интернет-магазины они

play25:53

чётко следят за своим кодом и так далее

play25:54

То есть не везде далеко не везде это всё

play25:57

применяется только некоторые компании

play25:59

разрешают своим работникам использовать

play26:01

подобные вещи опять же использование

play26:04

подобных вещей всего лишь означает

play26:06

ускорение написания каких ли какого-либо

play26:09

кода ну на 20% на 30 то есть повсеместно

play26:13

постоянно его использовать не получается

play26:15

потому что когда пытаешься использовать

play26:16

подобные вещи Просто постоянно начинаешь

play26:20

больше обращать внимания на то что

play26:22

больше времени уходит именно на проверку

play26:24

и на просмотр что тебе именно предлагает

play26:27

ассистент они просто для того чтобы

play26:29

взять Ну просто взять и написать

play26:31

реальный код который будет

play26:32

соответствовать всем требованиям и чётко

play26:34

работать это во-первых во-вторых когда

play26:36

Действительно это полезно например

play26:38

полезно Это вот как сейчас было показано

play26:40

проверить код на наличие каких-либо

play26:42

косяков которые просто уже глаз замын и

play26:45

они не бросаются в глаза где-то там

play26:48

лишние какие-то параметры где-то код

play26:49

улучшить сократить Можно это да это

play26:52

однозначно да где-то вот ускорить

play26:53

написание по крайней мере базовых тестов

play26:55

базовых тестов простых а уже потом

play26:58

дальше переходить к написанию уже там

play27:00

таких более специализированных точек Да

play27:02

подобная рутина а именно вот этой вот

play27:04

написание по крайней мере вот этих

play27:06

тестов Это действительно очень жёсткая

play27:09

фигня на и на написание тестов порой

play27:12

уходит даже больше времени чем на

play27:13

написание целого контроллера отвечающего

play27:16

за какую-то веб-страницу это во-первых

play27:18

во-вторых И в третьих и заменят ли

play27:21

кого-то эта штука однозначно нет потому

play27:24

что это всё нужно проверять и тому же

play27:26

самому мидлум вот этими делами Просто

play27:29

некогда ведь прирост по скорости на 20%

play27:32

в принципе ничего такого особенного не

play27:34

даёт Тем более что постоянно

play27:35

увеличивается объёмы работы которые Ну

play27:37

необходимо делать ведь 10 лет назад

play27:40

когда был там 10 Ну 15 лет назад когда

play27:42

реально изобрели нормальный простой

play27:44

автокомплит тогда тоже было ускорение

play27:46

работы и что всех по увольняли Нет

play27:48

конечно Всего Потому что постоянно

play27:50

происходит с прогрессом постоянно идёт

play27:53

прирост необходимой работы которую

play27:54

необходимо исполнять и вот постепенно

play27:57

вместе с этим же прогрессом появляются

play27:59

дополнительные инструменты которые

play28:01

ускоряют работу программиста использую

play28:03

ли я именно на работе подобные

play28:05

инструменты Нет мы занимаемся тем что

play28:08

разрабатываем именно приложения то есть

play28:10

веб-приложения да сайты нет потому что

play28:13

запрещено политикой конфиденциальности

play28:15

компании а в каких-то своих личных Ну

play28:18

скажем так когда с чем-то разбираешься

play28:19

да или какой-то там бывает иногда что-то

play28:22

своё там пишешь то исключительно скажем

play28:25

так в таких вот именно рутинных вещах

play28:27

потому что

play28:28

запустить и пытаться всё всё писать

play28:32

исключительно под дудку ассистента нет

play28:34

во-первых сам перестаёшь разбираться уже

play28:38

не лезешь в документацию пытаешься уже

play28:40

опираться на него и в итоге это приводит

play28:42

к тому что приводит к низко сортности

play28:58

и Какое у вас впечатление от всего этого

play29:00

с вами был канал Python Hub Studio до

play29:02

следующих видео пока

Rate This

5.0 / 5 (0 votes)

Related Tags
AI AssistantsCoding ToolsFree PluginsCode GenerationAutocompletionDeveloper ToolsProgramming TipsCode ReviewProductivity BoostTech Review