this post was submitted on 25 Nov 2023
41 points (95.6% liked)

Programming

17397 readers
210 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

Do you keep them in your IDE, or elsewhere? Do you have an app for that? Are they easily shared?

I realized I have no system at all but could use one to make it easier to find code I've written and might need again some day.

By snippets, I am referring to any chunk of code / text in any format or language, of any length.

Thanks!

EDIT A DAY LATER: Thanks you all! Reading all these ideas, I got inspired to create my own little web app. Wish me luck... :)

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 26 points 11 months ago (4 children)

Please, can you give an example of such code snippets? I’m wondering what people consider reusable in different projects.

[–] [email protected] 21 points 11 months ago

Seriously. A snippet library seems like a significant anti-pattern.

[–] [email protected] 6 points 11 months ago (1 children)

Not OP, but I'm thinking about the example in vs code: https://code.visualstudio.com/docs/editor/userdefinedsnippets
Some boilerplate code for libraries and frameworks I constantly use.
I'd be more interested in syncing the VS code snippets as they are automatically available in a file for each language and have the autocomplete stops.

[–] [email protected] 4 points 11 months ago (1 children)

In PHP, a lot. Unit test are boilerplate 90% of the time, getters and setters (although they can be done via Generate), ORM classes with your default shebang (autoincrement ID), and I could go on and on.

I dislike snippets for code like "key this array by some logic" - this should be reusable via a dedicated helper or service.

[–] [email protected] 0 points 11 months ago* (last edited 11 months ago) (2 children)

Getters/setters can also be done automatically by __get, __set or __call it's even possible to write a base class or trait that does this automatically.

I am a PHP guru, if you've ever got questions I'm happy to help.

[–] [email protected] 1 points 11 months ago

Sadly that's against best practices, it does not work with IDE autocomplete, and neither with PHPStan / PHPCS. You also don't get coverage from PHPUnit. And renaming a property does not rename the usage across the whole project. __get and __set should not be heavily used, and the project shouldn't be based on them.

Some libraries, like Eloquent, uses them well, but you still need to annotate your class with @property if you want to stay sane.

[–] [email protected] 0 points 11 months ago (1 children)
[–] [email protected] 0 points 11 months ago

Nah, it's actually very useful piping and makes code readable and useful.

[–] [email protected] 0 points 11 months ago (1 children)

Let’s say a function, about 20 lines. Something too small to warrant an external dependency but tricky enough that you don’t want to keep rewriting it.

I have things like a function to read through a file of newline delimited text of key-value pairs separated by whitespace. It skips comments (lines beginning with “#”), and returns the pairs. I’m happy to do a little copying instead of having a little dependency.

[–] [email protected] 3 points 11 months ago

It is really really easy to make libraries.