From 4bc0c1571dacd739c83c50b376376dc746ee7a6a Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Tue, 10 Sep 2024 16:25:13 -0300 Subject: [PATCH 1/4] [CONFIG] Better cppcheck parameters to return error exit on fail --- Makefile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 45dee95..f00b36d 100644 --- a/Makefile +++ b/Makefile @@ -68,11 +68,15 @@ lint/yaml: lint: lint/markdown lint/yaml test/styling test/static test/static: - cppcheck --enable=all \ - --inconclusive \ - --library=posix \ + cppcheck \ + --enable=all \ --std=c++17 \ + --library=posix \ + --inconclusive \ + --inline-suppr \ + --error-exitcode=13 \ --suppress=missingIncludeSystem \ + --showtime=summary \ src/ test/styling: From 9f35a59893eed6a895a01d6f4a751c1f49ff3b93 Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Tue, 10 Sep 2024 19:04:56 -0300 Subject: [PATCH 2/4] [REFACTOR] [Hacker Rank]: Warmup: Simple Array Sum. Static check issue solved. -> src/lib/exercises/src/hackerrank/warmup/simple_array_sum.cpp:20:41: performance: Function parameter 'ar' should be passed by const reference. [passedByValue] int simpleArraySum(std::vector ar) { --- .../include/exercises/hackerrank/warmup/simple_array_sum.hpp | 2 +- src/lib/exercises/src/hackerrank/warmup/simple_array_sum.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/exercises/include/exercises/hackerrank/warmup/simple_array_sum.hpp b/src/lib/exercises/include/exercises/hackerrank/warmup/simple_array_sum.hpp index 6dd9072..74cae45 100644 --- a/src/lib/exercises/include/exercises/hackerrank/warmup/simple_array_sum.hpp +++ b/src/lib/exercises/include/exercises/hackerrank/warmup/simple_array_sum.hpp @@ -4,5 +4,5 @@ #pragma once namespace hackerrank::warmup { - int simpleArraySum(std::vector ar); + int simpleArraySum(const std::vector& ar); } diff --git a/src/lib/exercises/src/hackerrank/warmup/simple_array_sum.cpp b/src/lib/exercises/src/hackerrank/warmup/simple_array_sum.cpp index 19cb96a..2b074d5 100644 --- a/src/lib/exercises/src/hackerrank/warmup/simple_array_sum.cpp +++ b/src/lib/exercises/src/hackerrank/warmup/simple_array_sum.cpp @@ -17,7 +17,7 @@ vector split(const string &); namespace hackerrank::warmup { - int simpleArraySum(std::vector ar) { + int simpleArraySum(const std::vector& ar) { int accum = 0; for(const int i : ar) { From ea1544dc89a3b279663a3fff63ba003dace3dfae Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Tue, 10 Sep 2024 19:49:10 -0300 Subject: [PATCH 3/4] [REFACTOR] [Hacker Rank]: Warmup: Simple Array Sum. Static check issue solved. -> src/lib/exercises/src/hackerrank/warmup/simple_array_sum.cpp:24:19: style: Consider using std::accumulate algorithm instead of a raw loop. [useStlAlgorithm] accum += i; ^ --- .../hackerrank/warmup/simple_array_sum.hpp | 1 - .../src/hackerrank/warmup/simple_array_sum.cpp | 18 +++--------------- .../warmup/simple_array_sum.test.cpp | 3 +-- 3 files changed, 4 insertions(+), 18 deletions(-) diff --git a/src/lib/exercises/include/exercises/hackerrank/warmup/simple_array_sum.hpp b/src/lib/exercises/include/exercises/hackerrank/warmup/simple_array_sum.hpp index 74cae45..b85346c 100644 --- a/src/lib/exercises/include/exercises/hackerrank/warmup/simple_array_sum.hpp +++ b/src/lib/exercises/include/exercises/hackerrank/warmup/simple_array_sum.hpp @@ -1,4 +1,3 @@ -#include #include #pragma once diff --git a/src/lib/exercises/src/hackerrank/warmup/simple_array_sum.cpp b/src/lib/exercises/src/hackerrank/warmup/simple_array_sum.cpp index 2b074d5..aebefd8 100644 --- a/src/lib/exercises/src/hackerrank/warmup/simple_array_sum.cpp +++ b/src/lib/exercises/src/hackerrank/warmup/simple_array_sum.cpp @@ -4,26 +4,14 @@ * @link Problem definition [[docs/hackerrank/warmup/simple_array_sum.md]] */ -#include -#include +#include #include -using namespace std; - -string ltrim(const string &); -string rtrim(const string &); -vector split(const string &); - - namespace hackerrank::warmup { int simpleArraySum(const std::vector& ar) { - int accum = 0; - - for(const int i : ar) { - accum += i; - } - return accum; + const int INIT_VALUE = 0; + return std::accumulate(ar.begin(), ar.end(), INIT_VALUE); } } diff --git a/src/tests/unit/lib/hackerrank/warmup/simple_array_sum.test.cpp b/src/tests/unit/lib/hackerrank/warmup/simple_array_sum.test.cpp index c389d86..b63eeff 100644 --- a/src/tests/unit/lib/hackerrank/warmup/simple_array_sum.test.cpp +++ b/src/tests/unit/lib/hackerrank/warmup/simple_array_sum.test.cpp @@ -1,12 +1,11 @@ #include #include -#include #include - #include #include #include + using json = nlohmann::json; TEST_CASE("simpleArraySum", "[warmup]") From e9ed75438f43d4247f88a71f48d9dc93d96ddcc9 Mon Sep 17 00:00:00 2001 From: Gonzalo Diaz Date: Tue, 10 Sep 2024 20:08:29 -0300 Subject: [PATCH 4/4] [REFACTOR] Static check issue solved. -> src/tests/unit/lib/foo.test.cpp:5:0: style: The function 'TEST_CASE' is never used. [unusedFunction] TEST_CASE("adding numbers work", "[foo]") ^ --- src/tests/unit/lib/foo.test.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tests/unit/lib/foo.test.cpp b/src/tests/unit/lib/foo.test.cpp index 9d2a727..82b305a 100644 --- a/src/tests/unit/lib/foo.test.cpp +++ b/src/tests/unit/lib/foo.test.cpp @@ -2,6 +2,7 @@ #include +// cppcheck-suppress unusedFunction TEST_CASE("adding numbers work", "[foo]") { CHECK(foo::add(0, 0) == 0);