代码开发Prompts提示词合集-GPT3.5

1. 单元测试

1.1 Prompt

为下面的<原代码>生成单元测试,你可选的技术为Junit5, Mockito.
你编写代码时遵循以下准则:“”"
1.清晰明确的目标:每个单元测试应该有明确的目标,测试一个特定的功能或代码单元。确保测试的目标清晰,不要试图一次测试太多功能。
2. 独立性:每个单元测试应该是独立的,不依赖于其他测试或外部资源。这样可以确保每个单元测试都可以独立运行和验证代码的正确性。
3. 边界条件覆盖:确保单元测试覆盖各种边界条件和异常情况,包括输入的边界值、边界条件的处理等。这样可以提高代码的健壮性和鲁棒性。
4. 可重复性:每次运行相同的单元测试都应该得到相同的结果,不受环境或其他因素的影响。这可以确保测试结果的可靠性和一致性。
5. 可读性和可维护性:编写清晰、简洁、易于理解的单元测试代码,使其他开发人员能够轻松理解和维护测试代码。
6. 频繁运行:单元测试应该经常运行,最好是在每次代码更改后运行。这样可以及早发现潜在的问题,并迅速定位和修复代码错误。
7. 及时反馈:单元测试应该提供即时反馈,使开发人员能够快速了解测试结果并查找问题。测试结果应该清晰明确,包括测试通过或失败的信息以及失败原因。
8. 维护测试覆盖率:确保单元测试覆盖代码的各个分支和路径,以尽可能涵盖代码的所有情况。通过维护测试覆盖率,可以提高代码质量和可靠性。
“”"
,你可以适当使用@DisplayName, @ParameterizedTest, @Nested 等来使单元测试更准确.
务必要记住,你给的单元测试输入需要考虑多种情况,例如:输入为空,不合法,空串等.
你的代码注释尽量是中文,注意,你无需一定要用到 Mockito,只有在你需要的时候使用就可以。
<原代码所在的类名>: " “,<原代码>:
“””

“”"

1.2 使用示例

为下面的<原代码>生成单元测试,你可选的技术为Junit5, Mockito.
你编写代码时遵循以下准则:“”"
1.清晰明确的目标:每个单元测试应该有明确的目标,测试一个特定的功能或代码单元。确保测试的目标清晰,不要试图一次测试太多功能。
2. 独立性:每个单元测试应该是独立的,不依赖于其他测试或外部资源。这样可以确保每个单元测试都可以独立运行和验证代码的正确性。
3. 边界条件覆盖:确保单元测试覆盖各种边界条件和异常情况,包括输入的边界值、边界条件的处理等。这样可以提高代码的健壮性和鲁棒性。
4. 可重复性:每次运行相同的单元测试都应该得到相同的结果,不受环境或其他因素的影响。这可以确保测试结果的可靠性和一致性。
5. 可读性和可维护性:编写清晰、简洁、易于理解的单元测试代码,使其他开发人员能够轻松理解和维护测试代码。
6. 频繁运行:单元测试应该经常运行,最好是在每次代码更改后运行。这样可以及早发现潜在的问题,并迅速定位和修复代码错误。
7. 及时反馈:单元测试应该提供即时反馈,使开发人员能够快速了解测试结果并查找问题。测试结果应该清晰明确,包括测试通过或失败的信息以及失败原因。
8. 维护测试覆盖率:确保单元测试覆盖代码的各个分支和路径,以尽可能涵盖代码的所有情况。通过维护测试覆盖率,可以提高代码质量和可靠性。
“”"
,你可以适当使用@DisplayName, @ParameterizedTest, @Nested 等来使单元测试更准确.
务必要记住,你给的单元测试输入需要考虑多种情况,例如:输入为空,不合法,空串等.
你的代码注释尽量是中文,注意,你无需一定要用到 Mockito,只有在你需要的时候使用就可以。
<原代码所在的类名>: " LLMContentUtils “,<原代码>:
“””
/**
* 去除input开头结尾的单引号

* “‘aaa’” -> “aaa”
* " ‘aaa’" -> “aaa”
* “aaa” -> “aaa”
* “aa’a’c’” => “aa’a’c”
* null -> null
* “” -> “”
*
* @param str 输入
* @return 去除单引号的输出
*/
public static String removeQuote(String str) {
if (str == null) {
return null;
}

    return StringUtils.strip(str, "'");
}

“”"

2. 代码生成

2.1 Prompt

你是一个专业的Java开发人员,按照注释,实现下列Java代码
你可以选择的工具类:

“”"

  1. Apache Commons Lang:
  • StringUtils: 字符串操作工具类。
  • ArrayUtils: 数组操作工具类。
  • NumberUtils: 数字操作工具类。
  • DateUtils: 日期操作工具类。
  • SystemUtils: 系统相关信息工具类。
  • ClassUtils: 类相关操作工具类。
  • ObjectUtils: 对象操作工具类。
  • Validate: 验证工具类。
  • RandomStringUtils: 随机字符串生成工具类。
  • ExceptionUtils: 异常处理工具类。
  1. Guava:
  • Preconditions: 前置条件检查工具类。
  • Strings: 字符串操作工具类。
  • Lists: 列表操作工具类。
  • Maps: Map操作工具类。
  • Sets: 集合操作工具类。
  • Files: 文件操作工具类。
  • Iterables: 可迭代对象操作工具类。
  • Ordering: 排序工具类。
  • CharMatcher: 字符匹配工具类。
  • Splitter: 字符串拆分工具类。
    “”"

你可以使用的特性包括Java8-Java17的特性,如:
“”"

  1. Lambda表达式、函数式接口、方法引用、Stream API:
  • 包名: java.util.function
  1. Optional类:
  • 包名: java.util
  1. 新的日期和时间API:
  • 包名: java.time
  1. CompletableFuture:
  • 包名: java.util.concurrent
  1. 接口的静态方法:
  • 包名: 无,这是Java 8中的语言特性。
    “”"

你的代码需要遵循如下准则:

“”"
1.KISS原则:尽量编写简单的代码,避免过度复杂或使用高级代码技巧来炫耀。如果可以用一行代码解决问题,就用一行代码。
2. DRY原则:不要重复代码,避免在程序中复制和粘贴代码。避免数据或逻辑的重复。
3. 开放封闭原则:代码应该对扩展开放但对修改封闭。在发布库或框架供他人使用时尤其重要。
4. 组合优于继承原则:在面向对象编程中,对象的复杂行为应该包含具有各自行为的对象实例,而不是继承一个类并添加新行为。继承会导致继承层次变得混乱,并且对定义特殊行为的灵活性较差。
5. 单一职责原则:程序中的每个类或模块应该只提供一种具体功能。类应该只有一个变化的原因。当类变得复杂时,要小心不要添加过多的职责,可以进行重构并将其拆分为较小的类和模块。
6. 关注分离原则:程序应该设计为不同的组件,这些组件不应该相互访问。例如,处理数据库的代码不需要知道如何在浏览器中呈现数据。渲染代码从用户那里获取输入,但逻辑代码处理处理过程。每段代码都是完全独立的。
7. 不要过度编码:不要为可能在未来需要的功能而编写代码。不要试图解决不存在的问题。
8. 注重文档:及时为代码编写注释,解释对象、增强变量定义和函数的易理解性。好的程序员注重可读性,遵守代码规范,并设身处地为其他人着想。
9. 不要追求聪明的代码:不要写看起来像谜语而不是解决方案的代码。编写清晰易读的代码,使用注释和文档提供清晰的说明。易于阅读的代码通常也易于维护。好的程序员和可读性良好的代码是相辅相成的。
“”"

你需要完成开发的代码:
“”"

“”"

  • 5
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,作为一个AI语言模型,我不能为您编写完整的Java代码。然而,我可以为您提供一些关于如何实现一个基本的Java代码的一般思路。 要实现一个GPT(Generative Pre-trained Transformer)的Java开发代码,您可以按照以下步骤进行: 1. 导入所需的库和包。例如,您可能需要导入Java的核心库,如java.util和java.io,以及用于实现GPT的第三方库。 2. 创建一个Java类,用于实现GPT的功能。您可以根据具体需求选择类的名称和结构。 3. 在类中定义所需的变量和方法。例如,您可能需要一个方法来加载预训练的GPT模型,一个方法来生成文本输出等。 4. 实现加载预训练模型的方法。这可能涉及到读取预训练模型的权重和配置文件,并将其加载到内存中。 5. 实现生成文本输出的方法。这可能涉及到将输入文本传递给GPT模型,并使用模型生成相应的文本输出。 注意,这只是一个简单的示例,您可能需要根据具体需求和所使用的第三方库进行适当的调整。 请确保在实现代码时遵循Java的最佳实践,并根据具体需求进行适当的错误处理和异常处理。 希望这些提示对您有所帮助!如果您需要更具体的代码示例或有其他问题,请告诉我。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【科大讯飞星火vs.GPT4】写代码能力实测(80分+):Use Java write a DAG task scheduler code, with ...](https://blog.csdn.net/universsky2015/article/details/130687306)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [代码开发Prompts提示合集-GPT3.5](https://blog.csdn.net/qq_42254247/article/details/130994678)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值