每个软件开发人员都应该知道的50个ChatGPT提示

发布时间 2023-06-05 09:23:41作者: 晓风晓浪

在本文中,我们将探讨一些专为软件开发人员量身定制的很棒的 ChatGPT-4 提示。这些提示可以协助完成代码生成、代码完成、错误检测、代码审查、API 文档生成等任务。

(更多优质教程:java567.com,搜"人工智能")

代码生成

  • [language][class/module/component]具有以下功能的命名 [name]生成样板代码:[functionality description].

  • 创建一个 [语言] 函数以使用以下输入执行:[输入变量] 和预期输出[operation]:。[data structure]``[output description]

  • 为包含和 属性的方法的应用程序生成一个[language]类。[domain]``[methods list]``[properties list]

  • 基于[设计模式],用[语言]创建一个代码片段,演示其对[用例]的实现。

例子:

 Generate a boilerplate Python code for a shopping cart module named "ShoppingCart" with the following functionality:
 
 - A constructor that initializes an empty list to store cart items.
 
 - A method called "add_item" that takes in an item object and adds it to the cart.
 
 - A method called "remove_item" that takes in an item object and removes it from the cart if it exists.
 
 - A method called "get_items" that returns the list of items in the cart.
 
 - A method called "get_total" that calculates and returns the total price of all items in the cart.

 

代码完成

  • 在 中[language],完成以下初始化 [数据结构] 的代码片段[values][code snippet]

  • [language]给定以下输入参数,完成计算 [期望输出] 的函数: [function signature]

  • 完成[language]代码以使用 [parameters] 进行 API 调用[API endpoint]并处理响应:[code snippet]

示例:完成计算给定以下输入参数的数字列表的平均值的 Python 函数:

 def calculate_average(num_list)

 

错误检测

  • 确定以下 [语言] 代码片段中的任何潜在错误:[code snippet]

  • 分析给定的 [语言] 代码并提出改进建议以防止 [错误类型]: [code snippet]

  • 在以下 [语言] 代码中查找任何内存泄漏并提出修复建议:[code snippet]

示例:识别以下 Python 代码片段中的任何潜在错误:

 def calculate_sum(num_list):
    sum = 0
    for i in range(len(num_list)):
        sum += num_list[i]
    return sum

 

代码审查

  • 查看以下[language]代码以获得最佳实践并提出改进建议:[code snippet].

  • 分析给定的[language]代码是否遵守[coding style guidelines][code snippet]

  • 检查以下 [语言] 代码以进行正确的错误处理并提出改进建议:[code snippet].

  • 评估给定代码的模块化和可维护性[language][code snippet]

示例:查看以下 Python 代码以获得最佳实践并提出改进建议:

 def multiply_list(lst):
    result = 1
    for num in lst:
        result *= num
    return result

 

API文档生成

  • 为以下[language]代码生成 API 文档:[code snippet].

  • 为给定的类创建简明的 API 参考[language][code snippet]

  • 为以下[language]API 生成用法示例:[code snippet]

示例:为以下 JavaScript 代码生成 API 文档:

 /**
  * Returns the sum of two numbers.
  * @param {number} a - The first number to add.
  * @param {number} b - The second number to add.
  * @returns {number} The sum of a and b.
  */
 function sum(a, b) {
  return a + b;
 }

 

查询优化

  • 优化以下 SQL 查询以获得更好的性能:[SQL query]

  • 分析给定的 SQL 查询是否存在任何潜在瓶颈:[SQL query]

  • 为以下 SQL 查询建议索引策略:[SQL query]

  • 优化以下 NoSQL 查询以获得更好的性能和资源使用:[NoSQL query]

示例:优化以下 SQL 查询以获得更好的性能:

 SELECT *
 FROM orders
 WHERE order_date BETWEEN '2022-01-01' AND '2022-12-31'
 ORDER BY order_date DESC
 LIMIT 100;

 

用户界面设计

  • [web/mobile]为专注于 [ 的应用程序生成 UI 模型user goal or task]

  • 建议改进现有的用户界面[app or website]以增强[usability, accessibility, or aesthetics]

  • 为应用程序设计响应式用户界面,[web/mobile]以适应不同的屏幕尺寸和方向。

示例:为专注于管理个人财务的移动应用程序生成 UI 模型。

自动化测试

  • 根据输入参数和预期输出为以下 [语言] 函数生成测试用例:[function signature]

  • 为涵盖[单元/集成/系统]测试的给定[语言]代码创建测试脚本:[code snippet]

  • 为以下测试各种边缘情况的[语言]函数生成测试数据:[function signature]

  • 为 [网络/移动] 应用程序设计测试策略,包括 [单元、集成、系统和/或性能] 测试。

示例:根据输入参数和预期输出为以下 Python 函数生成测试用例:

 def divide(a: float, b: float) -> float:
    if b == 0:
        raise ZeroDivisionError('division by zero')
    return a / b

 

代码重构

  • 建议对以下 [语言] 代码进行重构改进,以增强可读性和可维护性:[code snippet].

  • 确定在给定的[语言]代码中应用[设计模式]的机会:[code snippet]

  • 优化以下 [语言] 代码以获得更好的性能:[code snippet].

示例:优化以下 Python 代码以获得更好的性能:

 def find_max(numbers):
    max_num = numbers[0]
    for num in numbers:
        if num > max_num:
            max_num = num
    return max_num

 

设计模式建议

  • 根据给定的[语言]代码,推荐合适的设计模式来改进其结构:[code snippet].

  • 确定在以下[语言]代码库中应用[设计模式]的机会:[repository URL or codebase description]

  • 为给定的 [语言] 代码建议一个替代设计模式,它可以提供额外的好处:[code snippet].

示例:根据给定的Python代码,推荐合适的设计模式来改进其结构:

 class TotalPriceCalculator:
    def calculate_total(self, items):
        pass
 
 class NormalTotalPriceCalculator(TotalPriceCalculator):
    def calculate_total(self, items):
        total = 0
        for item in items:
            total += item.price * item.quantity
        return total
 
 class DiscountedTotalPriceCalculator(TotalPriceCalculator):
    def calculate_total(self, items):
        total = 0
        for item in items:
            total += item.price * item.quantity * 0.9 # apply 10% discount
        return total
 
 class Order:
    def __init__ (self, items, total_price_calculator):
        self.items = items
        self.total_price_calculator = total_price_calculator
 
    def calculate_total(self):
        return self.total_price_calculator.calculate_total(self.items)
 
 class Item:
    def __init__ (self, name, price, quantity):
        self.name = name
        self.price = price
        self.quantity = quantity

 

算法开发

  • 提出解决以下问题的最佳算法:[problem description]

  • 提高给定算法的效率[specific use case][algorithm or pseudocode]

  • 设计一个可以处理 的[large-scale data or high-throughput]算法[specific task or operation]

  • 提出以下算法的并行或分布式版本以提高性能:[algorithm or pseudocode].

代码翻译

  • 将以下[source language]代码翻译成[target language][code snippet]

  • 将给定的[source language]类或模块转换为,[target language]同时保留其功能和结构:[code snippet]

  • 使用类似的库或框架迁移以下[source language]用于 [目标语言] 的代码: 。[library or framework]``[code snippet]

示例:将以下 Python 代码转换为 JavaScript:

 def factorial(n):
    if n == 0:
        return 1
    else:
        return n * factorial(n-1)

 

个性化学习

  • [programming language or technology]根据我当前的技能水平整理要学习的资源列表: [beginner/intermediate/advanced]

  • [specific programming domain or technology]考虑到我的.net 背景,推荐一个精通的学习路径[existing skills or experience]

  • 建议项目想法或编码练习,以练习和提高我在[programming language or technology].

代码可视化

  • 为以下[language]代码生成一个 UML 图:[code snippet]

  • 创建给定算法的流程图或可视化表示[language][algorithm or pseudocode]

  • 可视化以下[language]代码的调用图或依赖关系:[code snippet]

示例:为以下 Java 代码生成 UML 图:

 public abstract class Vehicle {
    private String model;
 
    public Vehicle(String model) {
        this.model = model;
    }
 
    public String getModel() {
        return model;
    }
 
    public abstract void start();
 
    public abstract void stop();
 }
 
 public class Car extends Vehicle {
    public Car(String model) {
        super(model);
    }
    @Override
    public void start() {
        System.out.println("Starting car engine");
    }
    @Override
    public void stop() {
        System.out.println("Stopping car engine");
    }
 }
 public class Motorcycle extends Vehicle {
    public Motorcycle(String model) {
        super(model);
    }
    @Override
    public void start() {
        System.out.println("Starting motorcycle engine");
    }
    @Override
    public void stop() {
        System.out.println("Stopping motorcycle engine");
    }
 }

 

数据可视化

  • 生成代表以下数据的条形图:[data or dataset description]

  • 创建一个折线图,以可视化以下时间序列数据中的趋势:[data or dataset description]

  • 设计一个表示以下变量之间相关性的热图:[variable list]

*谢谢阅读*

黑客标签

(更多优质教程:java567.com,搜"人工智能")