N. Thomas Gaarder

12 papers A* 1B 1Journal 10
YearRankTypeTitle / Venue / Authors
2008 B conf
ISIT
Ninoslav Marina, Aleksandar Kavcic, N. Thomas Gaarder
1995 A* conf
INFOCOM
James R. Yee, N. Thomas Gaarder
1982 J jnl
IEEE Trans. Inf. Theory
N. Thomas Gaarder, David S. Slepian
1975 J jnl
IEEE Trans. Inf. Theory
N. Thomas Gaarder, Jack K. Wolf
1971 J jnl
IEEE Trans. Inf. Theory
N. Thomas Gaarder
1971 J jnl
IEEE Trans. Inf. Theory
N. Thomas Gaarder
1969 J jnl
IEEE Trans. Inf. Theory
N. Thomas Gaarder
1968 J jnl
IEEE Trans. Inf. Theory
N. Thomas Gaarder
1967 J jnl
IEEE Trans. Inf. Theory
N. Thomas Gaarder
1966 J jnl
IEEE Trans. Inf. Theory
N. Thomas Gaarder
1966 J jnl
IEEE Trans. Inf. Theory
N. Thomas Gaarder
1965 J jnl
IEEE Trans. Inf. Theory
N. Thomas Gaarder
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