summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-01-unintended-variable-shadowing.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-02-unnecessary-nested-code.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-03-misusing-init-functions.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-04-overusing-getters-and-setters.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-05-interface-pollution.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-06-interface-on-the-producer-side.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-07-returning-interfaces.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-08-any-says-nothing.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-09-being-confused-about-when-to-use-generics.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-10-not-being-aware-of-the-possible-problems-with-type-embedding.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-100-not-understanding-the-impacts-of-running-go-in-docker-and-kubernetes.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-11-not-using-the-functional-options-pattern.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-12-project-misorganization-project-structure-and-package-organization.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-13-creating-utility-packages.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-14-ignoring-package-name-collisions.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-15-missing-code-documentation.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-16-not-using-linters.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-17-creating-confusion-with-octal-literals.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-18-neglecting-integer-overflows.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-19-not-understanding-floating-points.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-20-not-understanding-slice-length-and-capacity.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-21-inefficient-slice-initialization.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-22-being-confused-about-nil-vs-empty-slice.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-23-not-properly-checking-if-a-slice-is-empty.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-24-not-making-slice-copies-correctly.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-25-unexpected-side-effects-using-slice-append.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-26-slices-and-memory-leaks.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-27-inefficient-map-initialization.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-28-maps-and-memory-leaks.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-29-comparing-values-incorrectly.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-30-ignoring-that-elements-are-copied-in-range-loops.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-31-ignoring-how-arguments-are-evaluated-in-range-loops-channels-and-arrays.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-32-ignoring-the-impacts-of-using-pointer-elements-in-range-loops.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-33-making-wrong-assumptions-during-map-iterations-ordering-and-map-insert-during-iteration.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-34-ignoring-how-the-break-statement-works.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-35-using-defer-inside-a-loop.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-36-not-understanding-the-concept-of-rune.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-37-inaccurate-string-iteration.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-38-misusing-trim-functions.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-39-under-optimized-strings-concatenation.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-40-useless-string-conversions.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-41-substring-and-memory-leaks.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-42-not-knowing-which-type-of-receiver-to-use.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-43-never-using-named-result-parameters.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-44-unintended-side-effects-with-named-result-parameters.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-45-returning-a-nil-receiver.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-46-using-a-filename-as-a-function-input.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-47-ignoring-how-defer-arguments-and-receivers-are-evaluated.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-48-panicking.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-49-ignoring-when-to-wrap-an-error.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-50-comparing-an-error-type-inaccurately.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-51-comparing-an-error-value-inaccurately.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-52-handling-an-error-twice.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-53-not-handling-an-error.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-54-not-handling-defer-errors.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-55-mixing-up-concurrency-and-parallelism.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-56-thinking-concurrency-is-always-faster.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-57-being-puzzled-about-when-to-use-channels-or-mutexes.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-58-not-understanding-race-problems-data-races-vs-race-conditions.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-59-not-understanding-the-concurrency-impacts-of-a-workload-type.md2
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-60-misunderstanding-go-contexts.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-61-propagating-an-inappropriate-context.md2
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-62-starting-a-goroutine-without-knowing-when-to-stop-it.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-63-not-being-careful-with-goroutines-and-loop-variables.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-64-expecting-a-deterministic-behavior-using-select-and-channels.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-65-not-using-notification-channels.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-66-not-using-nil-channels.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-67-being-puzzled-about-channel-size.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-68-forgetting-about-possible-side-effects-with-string-formatting.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-69-creating-data-races-with-append.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-70-using-mutexes-inaccurately-with-slices-and-maps.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-71-misusing-syncwaitgroup.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-72-forgetting-about-synccond.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-73-not-using-errgroup.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-74-copying-a-sync-type.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-75-providing-a-wrong-time-duration.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-76-timeafter-and-memory-leaks.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-79-not-closing-transient-resources-http-body-sqlrows-and-osfile.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-80-forgetting-the-return-statement-after-replying-to-an-http-request.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-81-using-the-default-http-client-and-server.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-82-not-categorizing-tests-build-tags-environment-variables-and-short-mode.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-83-not-enabling-the-race-flag.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-84-not-using-test-execution-modes-parallel-and-shuffle.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-85-not-using-table-driven-tests.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-86-sleeping-in-unit-tests.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-87-not-dealing-with-the-time-api-efficiently.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-88-not-using-testing-utility-packages-httptest-and-iotest.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-89-writing-inaccurate-benchmarks.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-92-writing-concurrent-code-that-leads-to-false-sharing.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-93-not-taking-into-account-instruction-level-parallelism.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-94-not-being-aware-of-data-alignment.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-95-not-understanding-stack-vs-heap.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-96-not-knowing-how-to-reduce-allocations.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-97-not-relying-on-inlining.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-98-not-using-go-diagnostics-tooling.md1
-rw-r--r--prompts/skills/100-go-mistakes/references/mistake-99-not-understanding-how-the-gc-works.md1
96 files changed, 0 insertions, 98 deletions
diff --git a/prompts/skills/100-go-mistakes/references/mistake-01-unintended-variable-shadowing.md b/prompts/skills/100-go-mistakes/references/mistake-01-unintended-variable-shadowing.md
index 54d5f69..09b9770 100644
--- a/prompts/skills/100-go-mistakes/references/mistake-01-unintended-variable-shadowing.md
+++ b/prompts/skills/100-go-mistakes/references/mistake-01-unintended-variable-shadowing.md
@@ -1,6 +1,5 @@
# Mistake #1: Unintended variable shadowing
-#### TL;DR
Avoiding shadowed variables can help prevent mistakes like referencing the wrong variable or confusing readers.
diff --git a/prompts/skills/100-go-mistakes/references/mistake-02-unnecessary-nested-code.md b/prompts/skills/100-go-mistakes/references/mistake-02-unnecessary-nested-code.md
index e8cf6c4..9b927fd 100644
--- a/prompts/skills/100-go-mistakes/references/mistake-02-unnecessary-nested-code.md
+++ b/prompts/skills/100-go-mistakes/references/mistake-02-unnecessary-nested-code.md
@@ -1,6 +1,5 @@
# Mistake #2: Unnecessary nested code
-#### TL;DR
Avoiding nested levels and keeping the happy path aligned on the left makes building a mental code model easier.
diff --git a/prompts/skills/100-go-mistakes/references/mistake-03-misusing-init-functions.md b/prompts/skills/100-go-mistakes/references/mistake-03-misusing-init-functions.md
index 8695301..3b7443d 100644
--- a/prompts/skills/100-go-mistakes/references/mistake-03-misusing-init-functions.md
+++ b/prompts/skills/100-go-mistakes/references/mistake-03-misusing-init-functions.md
@@ -1,6 +1,5 @@
# Mistake #3: Misusing init functions
-#### TL;DR
When initializing variables, remember that init functions have limited error handling and make state handling and testing more complex. In most cases, initializations should be handled as specific functions.
diff --git a/prompts/skills/100-go-mistakes/references/mistake-04-overusing-getters-and-setters.md b/prompts/skills/100-go-mistakes/references/mistake-04-overusing-getters-and-setters.md
index d7730ef..a36536f 100644
--- a/prompts/skills/100-go-mistakes/references/mistake-04-overusing-getters-and-setters.md
+++ b/prompts/skills/100-go-mistakes/references/mistake-04-overusing-getters-and-setters.md
@@ -1,6 +1,5 @@
# Mistake #4: Overusing getters and setters
-#### TL;DR
Forcing the use of getters and setters isn’t idiomatic in Go. Being pragmatic and finding the right balance between efficiency and blindly following certain idioms should be the way to go.
diff --git a/prompts/skills/100-go-mistakes/references/mistake-05-interface-pollution.md b/prompts/skills/100-go-mistakes/references/mistake-05-interface-pollution.md
index 203be64..96f6958 100644
--- a/prompts/skills/100-go-mistakes/references/mistake-05-interface-pollution.md
+++ b/prompts/skills/100-go-mistakes/references/mistake-05-interface-pollution.md
@@ -1,6 +1,5 @@
# Mistake #5: Interface pollution
-#### TL;DR
Abstractions should be discovered, not created. To prevent unnecessary complexity, create an interface when you need it and not when you foresee needing it, or if you can at least prove the abstraction to be a valid one.
diff --git a/prompts/skills/100-go-mistakes/references/mistake-06-interface-on-the-producer-side.md b/prompts/skills/100-go-mistakes/references/mistake-06-interface-on-the-producer-side.md
index ca7e752..01c0dea 100644
--- a/prompts/skills/100-go-mistakes/references/mistake-06-interface-on-the-producer-side.md
+++ b/prompts/skills/100-go-mistakes/references/mistake-06-interface-on-the-producer-side.md
@@ -1,6 +1,5 @@
# Mistake #6: Interface on the producer side
-#### TL;DR
Keeping interfaces on the client side avoids unnecessary abstractions.
diff --git a/prompts/skills/100-go-mistakes/references/mistake-07-returning-interfaces.md b/prompts/skills/100-go-mistakes/references/mistake-07-returning-interfaces.md
index db52c2e..d086108 100644
--- a/prompts/skills/100-go-mistakes/references/mistake-07-returning-interfaces.md
+++ b/prompts/skills/100-go-mistakes/references/mistake-07-returning-interfaces.md
@@ -1,6 +1,5 @@
# Mistake #7: Returning interfaces
-#### TL;DR
To prevent being restricted in terms of flexibility, a function shouldn’t return interfaces but concrete implementations in most cases. Conversely, a function should accept interfaces whenever possible.
diff --git a/prompts/skills/100-go-mistakes/references/mistake-08-any-says-nothing.md b/prompts/skills/100-go-mistakes/references/mistake-08-any-says-nothing.md
index f7c8931..6d835e1 100644
--- a/prompts/skills/100-go-mistakes/references/mistake-08-any-says-nothing.md
+++ b/prompts/skills/100-go-mistakes/references/mistake-08-any-says-nothing.md
@@ -1,6 +1,5 @@
# Mistake #8: any says nothing
-#### TL;DR
The `any` type can be helpful if there is a genuine need for accepting or returning any possible type (for instance, when it comes to marshaling or formatting). In general, we should avoid overgeneralizing the code we write at all costs. Perhaps a little bit of duplicated code might occasionally be better if it improves other aspects such as code expressiveness.
diff --git a/prompts/skills/100-go-mistakes/references/mistake-09-being-confused-about-when-to-use-generics.md b/prompts/skills/100-go-mistakes/references/mistake-09-being-confused-about-when-to-use-generics.md
index 120881f..61792a4 100644
--- a/