bkielbasa / developer20

5 stars 0 forks source link

Go libs #100

Closed bksamsung closed 2 months ago

bksamsung commented 2 months ago

Summary by CodeRabbit

coderabbitai[bot] commented 2 months ago

Walkthrough

This pull request introduces two new blog posts focused on Go programming. The first article critiques popular Go libraries that the author chooses not to use, discussing their drawbacks and suggesting alternatives. The second article explores strategies for testing functions involving randomness, emphasizing dependency injection and statistical testing methods. Both articles aim to provide insights and practical approaches for developers working with Go.

Changes

File Path Change Summary
content/post/go-libs-i-dont-use.md Added a new article discussing popular Go libraries the author avoids, including critiques and alternatives.
content/post/test-with-random.md Added a new article on testing random functions in Go, covering TDD, dependency injection, and statistical testing.

Poem

πŸ‡ In the land of Go, where the libraries grow,
A rabbit hops by, with wisdom to show.
"Avoid the mock, let the real ones flow,
Test with some stats, let your knowledge glow!"
With a twitch of my nose, I celebrate the change,
For in coding, dear friends, we all can arrange! 🌟

[!TIP]

Announcements - The review status is no longer posted as a separate comment when there are no actionable or nitpick comments. In such cases, the review status is included in the walkthrough comment. - We have updated our review workflow to use the Anthropic's Claude family of models. Please share any feedback in the [discussion post](https://discordapp.com/channels/1134356397673414807/1279579842131787838) on our Discord. - Possibly related PRs: Walkthrough comment now includes a list of potentially related PRs to help you recall past context. Please share any feedback in the [discussion post](https://discordapp.com/channels/1134356397673414807/1282535539299323995) on our Discord. - Suggested labels: CodeRabbit can now suggest labels by learning from your past PRs in the walkthrough comment. You can also provide custom labeling instructions in the UI or configuration file. - Possibly related PRs, automatic label suggestions based on past PRs, learnings, and possibly related issues require data opt-in (enabled by default).

Recent review details **Configuration used: CodeRabbit UI** **Review profile: CHILL**
Commits Files that changed from the base of the PR and between bde0767a60b40a5ff4bcb09bda1efb597625ef1a and 84c2251f91d2e0e567a7d4e04608342452a8624c.
Files selected for processing (2) * content/post/go-libs-i-dont-use.md (1 hunks) * content/post/test-with-random.md (1 hunks)
Additional context used
LanguageTool
content/post/test-with-random.md
[style] ~109-~109: Consider using a different adverb to strengthen your wording. Context: ... in real-world code, we might encounter completely different values that our code may not ... (COMPLETELY_ENTIRELY)
content/post/go-libs-i-dont-use.md
[style] ~13-~13: This phrase is often redundant. Consider writing β€œI” unless you want to emphasize that you and not someone else will do something. Then, commas might be missing. Context: ...icle highlights a few Go libraries that I personally avoid using, along with the reasons beh... (I_MYSELF) --- [uncategorized] ~13-~13: Possible missing comma found. Context: ...e the use of these libraries universally but to shed light on potential challenges t... (AI_HYDRA_LEO_MISSING_COMMA) --- [style] ~40-~40: This phrase is often redundant. Consider writing β€œI” unless you want to emphasize that you and not someone else will do something. Then, commas might be missing. Context: ...hoose [GORM](https://gorm.io/), and why I personally refrain from relying on it. #### **Mig... (I_MYSELF) --- [style] ~54-~54: As an alternative to the over-used intensifier β€˜quite’, consider replacing this phrase. Context: ...ving Data** Fetching data with GORM is quite simple and convenient, especially when compare... (EN_WEAK_ADJECTIVE)
Additional comments not posted (5)
content/post/test-with-random.md (2)
`1-193`: **Excellent blog post! The content is well-structured, informative, and provides valuable insights.** The blog post is well-written and covers an important topic of testing functions involving randomness in Go. The content is organized logically, starting with an introduction, presenting the problem, discussing various approaches, and concluding with a recommended solution. The code examples are relevant, clear, and demonstrate the concepts effectively. The explanations are concise and easy to follow. Overall, this is an excellent blog post that provides practical guidance for testing functions with unpredictable or random output in Go.
Tools
LanguageTool
[style] ~109-~109: Consider using a different adverb to strengthen your wording. Context: ... in real-world code, we might encounter completely different values that our code may not ... (COMPLETELY_ENTIRELY)
--- `109-109`: The use of "completely" in the phrase "completely different values" is appropriate and does not require a change. It effectively emphasizes the extent of the difference between the encountered and prepared values.
Tools
LanguageTool
[style] ~109-~109: Consider using a different adverb to strengthen your wording. Context: ... in real-world code, we might encounter completely different values that our code may not ... (COMPLETELY_ENTIRELY)
content/post/go-libs-i-dont-use.md (3)
`1-99`: **Insightful blog post! The content is well-structured, informative, and provides a unique perspective.** The blog post offers a thoughtful and well-reasoned perspective on popular Go libraries that the author chooses not to use. The content is organized logically, starting with an introduction, discussing specific libraries (sqlmock, GORM, and non-standard mux servers), and concluding with a summary. The explanations for each library are clear, concise, and supported by relevant examples. The author effectively highlights the potential drawbacks and challenges associated with these libraries, particularly in the context of larger or more complex projects. The alternative approaches and recommendations provided demonstrate the author's expertise and offer valuable guidance for readers. Overall, this is an insightful blog post that contributes to the discussion on library selection in Go projects.
Tools
LanguageTool
[style] ~13-~13: This phrase is often redundant. Consider writing β€œI” unless you want to emphasize that you and not someone else will do something. Then, commas might be missing. Context: ...icle highlights a few Go libraries that I personally avoid using, along with the reasons beh... (I_MYSELF) --- [uncategorized] ~13-~13: Possible missing comma found. Context: ...e the use of these libraries universally but to shed light on potential challenges t... (AI_HYDRA_LEO_MISSING_COMMA) --- [style] ~40-~40: This phrase is often redundant. Consider writing β€œI” unless you want to emphasize that you and not someone else will do something. Then, commas might be missing. Context: ...hoose [GORM](https://gorm.io/), and why I personally refrain from relying on it. #### **Mig... (I_MYSELF) --- [style] ~54-~54: As an alternative to the over-used intensifier β€˜quite’, consider replacing this phrase. Context: ...ving Data** Fetching data with GORM is quite simple and convenient, especially when compare... (EN_WEAK_ADJECTIVE)
--- `13-13`: The sentence is grammatically correct without a comma before "but." The coordinating conjunction "but" is used appropriately to join two independent clauses, and a comma is not necessary in this context.
Tools
LanguageTool
[style] ~13-~13: This phrase is often redundant. Consider writing β€œI” unless you want to emphasize that you and not someone else will do something. Then, commas might be missing. Context: ...icle highlights a few Go libraries that I personally avoid using, along with the reasons beh... (I_MYSELF) --- [uncategorized] ~13-~13: Possible missing comma found. Context: ...e the use of these libraries universally but to shed light on potential challenges t... (AI_HYDRA_LEO_MISSING_COMMA)
--- `40-40`: The use of "personally" in this context is appropriate, as it emphasizes the author's individual choice to refrain from using GORM. The sentence reads well without commas around "personally," and the emphasis adds clarity to the author's perspective.
Tools
LanguageTool
[style] ~40-~40: This phrase is often redundant. Consider writing β€œI” unless you want to emphasize that you and not someone else will do something. Then, commas might be missing. Context: ...hoose [GORM](https://gorm.io/), and why I personally refrain from relying on it. #### **Mig... (I_MYSELF)
--- Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (Invoked using PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. ### Other keywords and placeholders - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description. - Add `@coderabbitai` anywhere in the PR title to generate the title automatically. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
netlify[bot] commented 2 months ago

Deploy Preview for sad-banach-de2851 ready!

Name Link
Latest commit 84c2251f91d2e0e567a7d4e04608342452a8624c
Latest deploy log https://app.netlify.com/sites/sad-banach-de2851/deploys/66dfd9aa70be0100084386e0
Deploy Preview https://deploy-preview-100--sad-banach-de2851.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.