(Don't) crank up the warnings to 11

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
  • ClickHouse

    ClickHouse® is a free analytics DBMS for big data

  • The order should be as follows:

    - automated testing;

    - -Wall -Wextra, and -Weverything with some exceptions;

    - address, memory, thread, and undefined sanitizers;

    - fuzzing (at least some sort of), coverage-guided fuzzing with sanitizers;

    - static analysis, starting with clang-tidy;

    - other static analyzers, such as Coverity, CodeQL - have the least priority.

    An example of how everything of the above, everywhere, all at once is applied in public can be seen in the ClickHouse repository: https://github.com/ClickHouse/ClickHouse in the per-commit checks. But keep in mind that the checks are really heavy - run for multiple hours, and we have to apply kludges to support GitHub Actions with spot instances...

    Also the dashboard can be checked here: https://aretestsgreenyet.com/

  • keyless

    Discontinued Cloudflare's Keyless SSL Server Reference Implementation (by cloudflare)

  • I prefer maximum warnings and use of #pragma to disable a warning at a specific point when I know the warning is useless/wrong. That way I can get to a totally clean build with zero warnings output.

    https://github.com/cloudflare/keyless/blob/master/Makefile#L...

    The reason I do this is if I leave some warnings in I can get complacent "oh, there's always a few warnings" or "that's expected" and then miss something.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • CRoaring

    Roaring bitmaps in C (and C++), with SIMD (AVX2, AVX-512 and NEON) optimizations: used by Apache Doris, ClickHouse, and StarRocks

  • The PR in question seems to be https://github.com/RoaringBitmap/CRoaring/pull/446

    I agree that the GitHub analyses are worse than useless, but I also think it highlights the friction between intrinsics and the program in which they appear. There probably is a better model.

  • clang-format-hooks

    Apply a coding style with clang-format only to new code added to an existing code base.

  • If your editor can do it, that's great.

    But another option is to apply it on commit [1].

    [1] https://github.com/barisione/clang-format-hooks

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts