본문으로 건너뛰기
cccskills
무료GitHub에 공개

project-code-review

Review a diff against dynamic-neural-field-composer's own standards - backwards compatibility, Clean Code, tools/ helper reuse, C++20 idiom, hot-path performance, and test coverage. Use before opening a PR or when asked to review a branch or change.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

설치 방법 보기

포함된 파일(1)

  • SKILL.md3.4 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Project code review

Review git diff origin/main...HEAD (or the diff you were given) against the checks below. This deliberately overlaps .coderabbit.yaml so problems surface locally before CodeRabbit posts them on the PR.

1. Backwards compatibility (highest severity)

Not a finding to note - a stop condition. If the diff breaks compatibility, say so first and stop; do not continue reviewing style.

Look for: changed public signatures in include/, altered default parameter values, changed behaviour of an existing element, and any change to the .dnf serialization format that older files would not survive.

2. Clean Code

Per CONTRIBUTING.md:

  • Names that read like prose. n, tmp, data2 are findings.
  • Small, single-responsibility functions. A function that needs a comment to explain its sections wants to be several functions.
  • No raw owning pointers. shared_ptr / unique_ptr only.
  • No comments that explain what the code does. Only why, and only when non-obvious.
  • Clarity over cleverness - if a reader has to stop and decode a line, it is a finding.

3. Helper reuse

Every new free function: does something equivalent already live in tools/?

Search include/tools/math.h, utils.h, profiling.h, logger.h, fft_convolution.h, simd_dispatch.h, and include/exceptions/exception.h before accepting it.

Also flag helpers defined at a call site that should move into tools/ - a numeric or utility function sitting in an element .cpp is misplaced.

4. Modern C++20

Flag missed opportunities where they genuinely improve the code:

  • std::span instead of const std::vector<double>& for read-only array views
  • std::string_view for read-only string parameters
  • [[nodiscard]] on accessors and anything whose result must not be dropped
  • ranges, structured bindings, std::format over manual concatenation
  • enum class over bare enum

Do not flag idiom for its own sake. If the change is cosmetic and the file is consistent as-is, leave it.

5. Performance

This is a simulation library; the step loop runs thousands of times a second.

  • Copies of heavy objects - field matrices, kernel vectors, std::vector<double> returned by value from an accessor
  • shared_ptr copies (atomic refcount) inside step() or any per-iteration path
  • Allocation inside the step loop that could be hoisted or reused
  • Repeated map/string lookups in a hot path

6. Tests

  • New or changed behaviour in elements/, simulation/ or tools/ with no test
  • A new test file not added to tests/CMakeLists.txt - it is silently never compiled and the suite goes green having never run it. Check this explicitly every time.
  • Floating-point assertions without an explicit tolerance
  • A test that would pass against the unfixed code, i.e. does not actually pin the bug

Output

Order findings most severe first. For each: file:line, one sentence on what is wrong, and the concrete failure it causes or the standard it violates.

Say "clean" when it is clean. Do not manufacture findings to look thorough - a short honest review beats a padded one.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

autopilot

무료

Orchestrate unattended resolution of open GitHub issues - triage by complexity, dispatch parallel worker agents into isolated worktrees, review their diffs, open PRs, and monitor CI and CodeRabbit until green. Use when asked to work through open issues autonomously or put Claude on auto-pilot.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Jgocunha/dynamic-neural-field-composer192026년 10월 9일 업데이트

Configure, build and test dynamic-neural-field-composer. Use whenever you need to compile the library, run the GoogleTest suite, verify a change builds, or reproduce a test failure.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Jgocunha/dynamic-neural-field-composer192026년 10월 9일 업데이트

commit

무료

Read the uncommitted diff in dynamic-neural-field-composer and print conventional commit message(s) for it, grouped by logical change. Use when asked to write, suggest or draft a commit message, or "what should I commit this as".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Jgocunha/dynamic-neural-field-composer192026년 10월 9일 업데이트

Verify documentation keeps up with a code change in dynamic-neural-field-composer - Doxygen on public API, the matching wiki page, and stale references elsewhere. Use before opening a PR, or when asked whether docs need updating.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Jgocunha/dynamic-neural-field-composer192026년 10월 9일 업데이트

Check a change for performance regression against this machine's recorded baseline - decide whether the diff needs checking, run the deck benchmark under the hygiene wrapper, and attribute any regression to an element. Use before opening a PR that touches the simulation hot path.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Jgocunha/dynamic-neural-field-composer192026년 10월 9일 업데이트

pr

무료

Read the branch diff in dynamic-neural-field-composer and print a PR title and description in chat, filling the repo's pull request template. Use when asked to write, draft or suggest a PR title/description, or "what should the PR say".

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

Jgocunha/dynamic-neural-field-composer192026년 10월 9일 업데이트

Jgocunha의 스킬 모두 보기

이 스킬의 문제 신고