Karl Lermer

12 papers Journal 6Unranked 6
YearRankTypeTitle / Venue / Authors
2006 J jnl
Formal Aspects Comput.
Karl Lermer, Colin J. Fidge
2005 J jnl
Theor. Comput. Sci.
Karl Lermer, Colin J. Fidge, Ian J. Hayes
2003 conf
CATS
Karl Lermer, Colin J. Fidge, Ian J. Hayes
2003 J jnl
Formal Aspects Comput.
Karl Lermer, Colin J. Fidge, Ian J. Hayes
2002 J jnl
Theor. Comput. Sci.
Karl Lermer, Colin J. Fidge
2001 J jnl
Theor. Comput. Sci.
Karl Lermer, Paul A. Strooper
2001 J jnl
IEE Proc. Softw.
Ian J. Hayes, Colin J. Fidge, Karl Lermer
2000 conf
IFIP TCS
Karl Lermer, Paul A. Strooper
1999 conf
ARTS
Karl Lermer, Colin J. Fidge
1999 conf
ARTS
Karl Lermer
1997 conf
Euro-Par
Karl Lermer, Colin J. Fidge
1995 conf
FSTTCS
Peter Baumann, Karl Lermer
docs/linting.md
← Index docs/linting.md markdown
# Code Linting Guide

## Installation

```bash
pip install flake8 pylint black isort
```

## Quick Usage

### Check Code Quality
```bash
# Comprehensive analysis (recommended)
pylint redb/

# Quick style check
flake8 redb/

# Format code
black redb/

# Sort imports
isort redb/
```

### Check Only (No Changes)
```bash
black --check redb/
isort --check-only redb/
```

## Configuration

The project uses `pyproject.toml` for configuration. Key settings:

- **Line length**: 120 characters
- **Pylint**: Disabled overly strict warnings (docstrings, naming conventions)
- **Black**: Compatible with isort
- **Flake8**: Ignores common style issues

## Security-Focused Linting

For security analysis, install additional tools:

```bash
pip install pylint-security bandit
```

Run security checks:
```bash
# Pylint with security plugin
pylint --load-plugins=pylint_security redb/

# Bandit (security-focused)
bandit -r redb/
```

## Recommended Workflow

1. **Development**: Use `flake8` for quick feedback
2. **Pre-commit**: Run `pylint` for comprehensive analysis
3. **Formatting**: Use `black` and `isort` before commits
4. **Security**: Run `bandit` periodically

## IDE Integration

Most IDEs support these tools:
- **VS Code**: Install Python extension, configure linting
- **PyCharm**: Built-in support for all tools
- **Vim/Neovim**: Use ALE or similar plugins