AI assistants in coding

From LemonWiki共筆
Jump to navigation Jump to search

AI Assistants in Coding


Usages[edit]

  • Write documentation (or Generate Docs)
  • Convert file to another language
  • Refactor the following code (or simplify this, or make code easier to read)
  • Explain the following code (or add comments to my code)
  • Generate Unit Tests (or generate tests)
  • Generate Code
  • Find Problems (or fix this)

Prompts cases[edit]

Improve the quality of Meta-prompt[edit]

Prompt

Now we need to review and improve the development discussion of a file management tool. Please analyze from the following three aspects:

1. Original Problem Analysis
  Please analyze in this discussion:
  - Initial technical issues and error situations
  - Original solution attempts
  - Key technical barriers discovered during discussion

2. Extended Requirements and Improvement Opportunities
  Based on the discussion process:
  - List functionality points that were not considered but are actually important
  - Identify potential technical risks and limitations
  - Propose possible optimization directions

3. Professional Specification Writing Guidelines
  Please provide:
  - Specification structure suitable for this type of tool
  - Key items and content suggestions
  - Technical documentation points that need special attention

Based on these three aspects, please provide a complete prompt template for guiding similar tool development discussions.
現在需要回顧並改進一個檔案管理工具的開發討論。請從以下三個面向分析:

1. 原始問題分析
   請分析這段討論中:
   - 最初提出的技術問題和錯誤情況
   - 原始的解決方案嘗試
   - 討論過程中發現的關鍵技術障礙

2. 延伸需求和改進機會
   基於討論過程:
   - 列出原本未考慮到但實際重要的功能點
   - 識別潛在的技術風險和限制
   - 提出可能的改善方向

3. 專業規格書撰寫指引
   請提供:
   - 適合此類工具的規格書架構
   - 關鍵項目和內容建議
   - 特別需要注意的技術文件要點

以上述三個面向為基礎,請提供一個完整的 prompt 模板,用於指導類似工具的開發討論。

Prompt for refactor source code[edit]

Prompt

refactor the code

```
(place your source code here)
```

Prompt for function name suggestion[edit]

國語版[edit]

請提供函數名稱修改建議,函數命名指南:
- 功能明確性: 名稱應清楚描述函數作用,如「檢查」、「解析」。
- 簡潔性: 選擇簡短具體的名稱,提高可讀性。
- 一致性: 遵循項目或語言的命名慣例。
- 可讀性: 使用完整單詞,避免不明確的縮寫。
- 反映返回類型: 若函數返回布林值,考慮使用「is」、「has」等前綴。
- 避免歧義: 名稱應清晰,不與其他函數混淆。
- 反映數據類型: 如果處理特定數據,應在名稱中指明,如「JSON」。

```php
附上程式碼
```

英文版[edit]

Function Naming Guidelines:
- Function Clarity: The name should clearly describe the function's action, such as "check," "parse."
- Conciseness: Choose short, specific names to improve readability.
- Consistency: Follow the naming conventions of the project or language.
- Readability: Use complete words, avoiding unclear abbreviations.
- Reflect Return Type: If the function returns a boolean value, consider using prefixes like "is," "has."
- Avoid Ambiguity: The name should be clear and not confused with other functions.
- Reflect Data Type: If handling specific data, this should be indicated in the name, such as "JSON."

```php
source code
```

Prompt for Generate Unit Tests[edit]

JetBrain 推出 AI Assistant 外掛功能,目前付費客戶可以免費試用 7 天。它下的 prompt,供大家參考

Prompt from JetBrain[edit]

Write "XXXClassTest' tests for the
'xxx' method in the
"XXXClass' class. Guideline: '*' 
- Write a description of the class and the method being tested. 
- Test file should be complete and compilable, without need for further actions. 
- Ensure that each test focuses on a single use case to maintain clarity and readability. 
- PHP test file MUST starts with php opening tag ?php 
- Generated test class should be in namespace XXX''* File: XXXClass.php 

'''php ?php class
   XXXClass {  ... 
'''

Prompt with Complete Testing Strategy[edit]

Write complete unit tests for the "$METHOD_NAME" method in the "$CLASS_NAME" class.

## Test Target
- Class: $CLASS_NAME
- Method: $METHOD_NAME
- Test Class Name: ${CLASS_NAME}Test
- Namespace: $NAMESPACE
- Source File: $FILE_NAME

## Source Code
\```php
$CODE
\```

## Writing Conventions

**File Structure**
- Test file must begin with `<?php`
- Namespace should be `Tests\$NAMESPACE`
- Place test file at `__tests__/${CLASS_NAME}Test.php`

**Test Conventions**
- Extend `PHPUnit\Framework\TestCase`
- Each test method should cover only a single behavior
- Method naming format: `test_[method_name]_[scenario_description]`
- Use `setUp()` to initialize shared objects

**Coverage**
- Happy Path: expected results under normal input
- Edge Cases: boundary values, null values, extreme inputs
- Error States: thrown exceptions, error returns

## Output Requirements
- Test file must be complete and executable without any modifications
- Add a comment above each test method describing its purpose
- Include the CLI command to run the test file

Instruction of Complete Testing Strategy

1. Happy Path — Verifies the program behaves correctly under expected, valid inputs.

// e.g. formatDate should return the correct format when given a valid date
$this->assertSame('2024/01/15', $this->formatter->format('2024-01-15'));

2. Edge Cases — Covers extreme or atypical but still valid inputs.

// e.g. empty string, zero value, maximum integer, boundary date
$this->assertSame('', $this->formatter->format(''));

3. Error States — Validates how the program handles illegal inputs or system failures.

// e.g. should throw an exception or degrade gracefully when an invalid date is passed
$this->expectException(\InvalidArgumentException::class);
$this->formatter->format(null);

Simple version[edit]

Write PHPUnit test case including edge cases

'''php 
   function xxx(){ ...
'''

Prompt for Find Problems (or fix this)[edit]

Example 1

Help me fix the problem
'''
error message or error description ...
'''

Relevant Source Code:
```
source code ...
```

Example 2

Help me fix the SQL query
'''
error message or error description ...
'''

SQL Query in Question:

```
SQL syntax ...
```


Prompt for Direct Code Analysis[edit]

Use Case: When AI debugging tools aren't working (agents, IDEs, etc.), try a clean approach: Use web-based AI with just the code—no context, no error messages. Simply ask "What's wrong with this code?" or "Find any issues?"

This fresh perspective often solves stubborn problems by avoiding bias from error messages and predetermined fix patterns, uncovering root causes that were previously missed.

Example 1

Find any issues in this code:
```
source code ...
```

Example 2

What problems do you see in this code?
```
source code ...
```

Example 3

Review this code and identify potential issues:
```
source code ...
```

相關 GPT 機器人[edit]

GIT message generator by OpenAI

相關網頁[edit]