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

282 阅读6分钟

在本文中,我们将探讨一些专为软件开发人员量身定制的很棒的 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,搜"人工智能")