Haigang Wang

12 papers Journal 8Unranked 4
YearRankTypeTitle / Venue / Authors
2026 J jnl
Environ. Model. Softw.
Yongkang Wang, Haigang Wang, Huili Gong, Beibei Chen, Chaofan Zhou, Haotong Wang
2022 J jnl
Quantum Inf. Comput.
Haigang Wang, Kan He, Yuyang Hao, Shuyuan Yang
2020 J jnl
Trans. Inst. Meas. Control
Hanqiao Che, Haigang Wang, Jiamin Ye, Wuqiang Yang
2020 J jnl
Trans. Inst. Meas. Control
Qiuya Tu, Haigang Wang
2019 conf
I2MTC
Wuqiang Yang, Haigang Wang
2019 conf
I2MTC
Shiguo Liang, Ruican Wang, Haigang Wang, Jiamin Ye, Wuqiang Yang
2019 J jnl
Trans. Inst. Meas. Control
Jing Zou, Haigang Wang, Chengguo Liu, Daping He, Zhi Peng Wu
2018 conf
IST
Kai Sun, Haigang Wang, Yi Li
2018 conf
IST
Shui Liu, Haigang Wang, Yi Li
2017 J jnl
IEEE Trans. Instrum. Meas.
Jiamin Ye, Haigang Wang, Wuqiang Yang
2015 J jnl
IEEE Trans. Instrum. Meas.
Jiamin Ye, Haigang Wang, Yi Li, Wuqiang Yang
2015 J jnl
IEEE Trans. Instrum. Meas.
Jiamin Ye, Haigang Wang, Wuqiang Yang
lint.sh
← Index lint.sh bash
#!/bin/bash

# Linting script for REDB project
# Usage: ./lint.sh [--fix] [--check-only]

set -e

# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# Default values
FIX=false
CHECK_ONLY=false

# Parse arguments
while [[ $# -gt 0 ]]; do
    case $1 in
        --fix)
            FIX=true
            shift
            ;;
        --check-only)
            CHECK_ONLY=true
            shift
            ;;
        *)
            echo "Unknown option: $1"
            echo "Usage: $0 [--fix] [--check-only]"
            exit 1
            ;;
    esac
done

echo -e "${GREEN}Running linting checks on REDB project...${NC}"

# Check if we're in a virtual environment
if [[ "$VIRTUAL_ENV" == "" ]]; then
    echo -e "${YELLOW}Warning: Not in a virtual environment. Consider activating one.${NC}"
fi

# Function to run a command and check its exit status
run_check() {
    local name="$1"
    local command="$2"
    
    echo -e "\n${YELLOW}Running $name...${NC}"
    if eval "$command"; then
        echo -e "${GREEN}✓ $name passed${NC}"
    else
        echo -e "${RED}✗ $name failed${NC}"
        return 1
    fi
}

# Track overall success
overall_success=true

# 1. isort (import sorting)
if [[ "$FIX" == true ]]; then
    run_check "isort" "isort redb/" || overall_success=false
else
    run_check "isort" "isort --check-only --diff redb/" || overall_success=false
fi

# 2. black (code formatting)
if [[ "$FIX" == true ]]; then
    run_check "black" "black redb/" || overall_success=false
else
    run_check "black" "black --check --diff redb/" || overall_success=false
fi

# 3. flake8 (style and error checking)
run_check "flake8" "flake8 redb/" || overall_success=false

# 4. pylint (comprehensive analysis)
run_check "pylint" "pylint --rcfile=pyproject.toml redb/" || overall_success=false

echo -e "\n${GREEN}Linting completed!${NC}"

if [[ "$overall_success" == true ]]; then
    echo -e "${GREEN}All checks passed! ✨${NC}"
    exit 0
else
    echo -e "${RED}Some checks failed. Please fix the issues above.${NC}"
    exit 1
fi