# Common Search Patterns
This file contains useful search patterns for different programming languages and use cases.
## Function Definitions
### Rust
```bash
# All function definitions
codesearch search "fn\\s+\\w+" --extensions rs --line-numbers
# Public functions only
codesearch search "pub\\s+fn" --extensions rs --line-numbers
# Async functions
codesearch search "async\\s+fn" --extensions rs --line-numbers
```
### Python
```bash
# All function definitions
codesearch search "def\\s+\\w+" --extensions py --line-numbers
# Class methods
codesearch search "def\\s+\\w+\\s*\\(" --extensions py --line-numbers
# Private methods (starting with _)
codesearch search "def\\s+_" --extensions py --line-numbers
```
### JavaScript/TypeScript
```bash
# Function declarations
codesearch search "function\\s+\\w+" --extensions js,ts --line-numbers
# Arrow functions
codesearch search "\\w+\\s*=>" --extensions js,ts --line-numbers
# Async functions
### Go
```bash
# All function definitions
codesearch search "func\\s+\\w+" --extensions go --line-numbers
# Methods (functions with receivers)
codesearch search "func\\s+\\([^)]+\\)\\s+\\w+" --extensions go --line-numbers
```
### Java
```bash
# All method definitions
codesearch search "public\\s+\\w+\\s+\\w+\\s*\\(" --extensions java --line-numbers
# Constructor definitions
codesearch search "public\\s+\\w+\\s*\\(" --extensions java --line-numbers
```
## Class Definitions
### Multi-language
```bash
# All class definitions
codesearch search "class\\s+\\w+" --extensions py,js,ts,java --line-numbers
# Abstract classes (Java)
codesearch search "abstract\\s+class" --extensions java --line-numbers
# Interface definitions
codesearch search "interface\\s+\\w+" --extensions ts,java --line-numbers
```
## Error Handling
### Multi-language
```bash
# All error types and exceptions
# Try-catch blocks
codesearch search "try\\s*\\{|catch\\s*\\(" --extensions js,ts,java --line-numbers
# Error handling in Rust
## Testing
### Multi-language
```bash
# Test functions
codesearch search "test_|@test|func Test|describe|it\\(" --extensions py,js,ts,go --line-numbers
# Test assertions
# Test setup/teardown
## Imports and Dependencies
### Multi-language
```bash
# All imports
# Specific library imports
codesearch search "import.*react|from.*react" --extensions js,ts --line-numbers
# Standard library imports
## Configuration and Constants
### Multi-language
```bash
# Constants and configuration
# Environment variables
# Configuration files
## Security Patterns
### Multi-language
```bash
# Potential security issues
# SQL injection risks
codesearch search "['\"][a-zA-Z0-9+/]{20,}['\"]" --line-numbers
```
## API and Routes
### Multi-language
```bash
# API endpoints
# HTTP methods
# Route definitions
### Multi-language
```bash
# Database queries
# ORM patterns
# Migration files
## Performance Patterns
### Multi-language
```bash
# Caching patterns
# Async/await patterns
# Performance monitoring