Skip to content

constistent header extensions #280

Open

Description

@jacobmerson

@Fuad-HH @abhiyan123 @hgangwar @Sichao25

I want input on this one. There is currently a mix of .h and .hpp (most things have .h). I want to resolve this once and have a consistent naming moving forward. This needs to be resolved reletively soon, as we really need to get the code into shape for external usage.

  • Option 1: all c++ headers have .hpp extension and all c headers have .h extension
  • Option 2: all headers (c/c++) have .h extension

I think option 1 is long-term a bit cleaner, but may break more downstream code.

Activity

  1. Fuad-HH commented on Mar 8, 2026

    @Fuad-HH
    Collaborator

    I was reading some discussions on it online (especially this CppCoreGuidelines issue). In my opinion, since PCMS is intended to provide a specific C and Fortran API, I would go for Option 1 for users' convenience. Even if it breaks some code now, it will be cleaner once and for all.

    I also think that no other extension headers should be allowed, especially the interface headers. For example, .tpp is sometimes used for templated code.

  2. jacobmerson commented on Mar 8, 2026

    @jacobmerson
    CollaboratorAuthor

    I agree about the .tpp files. If nothing else, it breaks code highlighting / confuses the IDEs.

  3. jacobmerson commented on Aug 14, 2026

    @jacobmerson
    CollaboratorAuthor

    @Sichao25 @Fuad-HH @abhiyan123 @hgangwar I'd like to take care of this in one fell swoop. Potentially a rename commit immediately after the mesh fields breaking change? I think the current approach where I've been doing it little by little is probably worse than just doing it all at once.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions