• 0 Posts
  • 8 Comments
Joined 1 year ago
cake
Cake day: June 5th, 2023

help-circle
  • I needed to learn Go quickly for a small little side project and I was able to run through the fundamentals Go track in about a week and a half doing a few exercises here and there.

    I’ve been exposed to quite a few programming languages so a lot of the common principles are there for me. What I really needed was to learn how Go is different and what the unique things about it are.

    For example, I didn’t need to learn about why loops are important. What I did like learning is how a for loop in Go was structured and how to use it in different contexts. Utilizing range was a great thing I picked up from their examples.

    Exercise is a great hands-on tool to supplement and support learning.





  • Do you think this will change over time where one community on a specific instance will gain the market share and all others will evaporate away? And if it does, doesn’t that just place us back in the reddit situation?

    To the second question of putting us back in the Reddit situation: Yes.

    If you want one platform, that’s what Reddit did for you. How did that work out?

    This discomfort that we feel from many communities paving their own ways I think is temporary. We will learn to adapt to this. I think this is not a fundamental problem with Lemmy, but a UI/UX issue that new UI features will help us handle as the needs are outlined and the “pain points” are made more clear.

    One platform or source is not the answer. Freedom in choosing from many sources of information is where the real benefit lies.




  • I often see this problem in the testing world, particularly around frontend tests that utilize UI automation tools.

    The pattern I see is often to abstract chunks of common steps into individual functions that often live in places very disconnected from the test. While this might reduce the number of lines of code in a test and arguably make it more maintainable it has its problems.

    Main problem number one is that readability has been diminished. It is now harder to understand exactly what this test is doing because steps have been abstracted away. Tests that can be clearly understood, read and describe functionality and behaviors are immensely important to getting others to quickly understand code. I hate to put a barrier there to making that happen.

    Second, i don’t truly believe it ALWAYS improves maintainability. This decision of abstracting carries a risk. When that abstraction needs to change in one place you are faced with a tough choice…

    Does this need to change in ALL places? How do you know? How can you get all places it is used and be certain it has to change in all of them? Changing for all usages is RISKY particularly when there are large numbers of uses and you don’t know what they all do.

    Do i make a new abstraction? This is safer but now starts to create bloat. It will lead down paths of making future implementations trickier because there are now two things to choose from that are possibly slightly different.

    For tests I’m not really convinced that these problems are worth dealing with. Keep it simple and understandable. Repeating yourself for the sake of clarity is okay. I’ll say it again… Repeating yourself for the sake of clarity is okay!