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

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

1. Генерация каркаса кода

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

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

Создайте шаблонный код, который интегрирует внешний API с помощью JavaScript. Ответ генерируется ChatGPT

const axios = require('axios');

const API_URL = 'https://api.example.com';

const getData = async () => {
  try {
    const response = await axios.get(`${API_URL}/data`);
    return response.data;
  } catch (error) {
    console.error(error);
  }
};

const postData = async (data) => {
  try {
    const response = await axios.post(`${API_URL}/data`, data);
    return response.data;
  } catch (error) {
    console.error(error);
  }
};

const putData = async (data) => {
  try {
    const response = await axios.put(`${API_URL}/data`, data);
    return response.data;
  } catch (error) {
    console.error(error);
  }
};

const deleteData = async (dataId) => {
  try {
    await axios.delete(`${API_URL}/data/${dataId}`);
  } catch (error) {
    console.error(error);
  }
};

module.exports = {
  getData,
  postData,
  putData,
  deleteData
};

Этот код использует библиотеку axios для выполнения HTTP-запросов к внешнему API. Функции getData, postData, putData и deleteData обрабатывают соответствующие типы запросов. URL-адрес API определяется в верхней части кода и может быть легко изменен по мере необходимости. Код также включает обработку ошибок для регистрации любых проблем, которые могут возникнуть во время вызовов API.

Или я могу даже попросить скелет для очистки LinkedIn с помощью Selenium, и ChatGPT выдаст мне следующий результат.

const webdriver = require('selenium-webdriver');
const {By, until} = webdriver;

const driver = new webdriver.Builder()
    .forBrowser('chrome')
    .build();

const loginToLinkedIn = async (username, password) => {
    await driver.get('https://linkedin.com/login');
    await driver.findElement(By.id('username')).sendKeys(username);
    await driver.findElement(By.id('password')).sendKeys(password);
    await driver.findElement(By.xpath('//button[text()="Sign in"]')).click();
    await driver.wait(until.titleIs('LinkedIn'), 5000);
};

const searchForProfiles = async (searchTerm) => {
    await driver.get(`https://www.linkedin.com/search/results/people/?keywords=${searchTerm}`);
    const searchResults = await driver.findElements(By.css('.search-result__info'));
    return searchResults.map((result) => result.getText());
};

const logOutFromLinkedIn = async () => {
    await driver.findElement(By.xpath('//*[@data-link-to="viewAccount"]')).click();
    await driver.findElement(By.xpath('//*[text()="Sign out"]')).click();
}

2. Понимание кода

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

Например, предположим, я наткнулся на фрагмент кода, который должен прокручивать страницу с предложениями работы в LinkedIn. Вместо того, чтобы часами пытаться понять код, я могу просто попросить ChatGPT объяснить его мне. Таким образом, я могу быстро понять цель кода, как он работает и как я могу использовать его для достижения своих целей парсинга.

Что делает следующий код? [вставьте код в ChatGPT]

const webdriver = require('selenium-webdriver');
const {By, until} = webdriver;

const driver = new webdriver.Builder()
    .forBrowser('chrome')
    .build();

const loginToLinkedIn = async (username, password) => {
    await driver.get('https://linkedin.com/login');
    await driver.findElement(By.id('username')).sendKeys(username);
    await driver.findElement(By.id('password')).sendKeys(password);
    await driver.findElement(By.xpath('//button[text()="Sign in"]')).click();
    await driver.wait(until.titleIs('LinkedIn'), 5000);
};

const searchForProfiles = async (searchTerm) => {
    await driver.get(`https://www.linkedin.com/search/results/people/?keywords=${searchTerm}`);
    const searchResults = await driver.findElements(By.css('.search-result__info'));
    return searchResults.map((result) => result.getText());
};

const logOutFromLinkedIn = async () => {
    await driver.findElement(By.xpath('//*[@data-link-to="viewAccount"]')).click();
    await driver.findElement(By.xpath('//*[text()="Sign out"]')).click();
}

const main = async () => {
    await loginToLinkedIn('username', 'password');
    const searchResults = await searchForProfiles('software developer');
    console.log(searchResults);
    await logOutFromLinkedIn();
    await driver.quit();
};

main();

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

3. Добавление комментариев к нашему коду

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

Например, давайте возьмем предыдущий код, который интегрирует внешний API с помощью JS. Мы можем попросить ChatGPT добавить комментарии к каждой строке кода, чтобы лучше объяснить его функциональность и назначение. Это улучшает читабельность, ремонтопригодность и облегчает другим понимание и работу с нашим кодом.

Давайте представим, что в предыдущем коде вообще не было комментариев. Мы можем просто попросить ChatGPT добавить комментарии прямо к нему.

Добавьте комментарии к следующему коду [вставьте сюда код]

// Importing the necessary modules
const axios = require('axios');

// Defining the baseURL for the API
const baseURL = 'https://api.example.com';

// Function to make a GET request to the API
const getData = async (endpoint) => {
    try {
        // Making the GET request to the API
        const response = await axios.get(`${baseURL}/${endpoint}`);

        // Returning the data from the response
        return response.data;
    } catch (error) {
        // Logging the error message
        console.error(error.message);
    }
};

// Function to make a POST request to the API
const postData = async (endpoint, data) => {
    try {
        // Making the POST request to the API
        const response = await axios.post(`${baseURL}/${endpoint}`, data);

        // Returning the data from the response
        return response.data;
    } catch (error) {
        // Logging the error message
        console.error(error.message);
    }
};

// Example usage of the functions
const data = await getData('users');
console.log(data);

const newUser = {
    name: 'John Doe',
    email: '[email protected]'
};
const createdUser = await postData('users', newUser);
console.log(createdUser);

4. Переписываем наш код в каком-то стиле

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

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

Можете ли вы переписать следующий код, используя стандарт Pep8

const webdriver = require('selenium-webdriver');
const {By, until} = webdriver;

const driver = new webdriver.Builder()
.forBrowser('chrome')
.build();

const login_to_linkedin = async (username, password) => {
await driver.get('https://linkedin.com/login');
await driver.find_element(By.id('username')).send_keys(username);
await driver.find_element(By.id('password')).send_keys(password);
await driver.find_element(By.xpath('//button[text()="Sign in"]')).click();
await driver.wait(until.title_is('LinkedIn'), 5000);
};

const search_for_profiles = async (search_term) => {
await driver.get(https://www.linkedin.com/search/results/people/?keywords=${search_term});
const search_results = await driver.find_elements(By.css('.search-result__info'));
return search_results.map((result) => result.get_text());
};

const log_out_from_linkedin = async () => {
await driver.find_element(By.xpath('//[@data-link-to="viewAccount"]')).click();
await driver.find_element(By.xpath('//[text()="Sign out"]')).click();
}

const main = async () => {
await login_to_linkedin('username', 'password');
const search_results = await search_for_profiles('software developer');
console.log(search_results

Основные выводы

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

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

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

Сообщите мне, если ChatGPT удивит вас другими полезными функциями. Я прочитаю вас в комментариях!