• 2 Posts
  • 38 Comments
Joined 2 years ago
cake
Cake day: July 1st, 2023

help-circle
  • The number of new devs who complain about having to write a unit test is too damn high

    • Or writing integration tests
    • Or passing CI
    • Or following repo conventions
    • Or following standards
    • Or adhering to domain guardrails
    • Or in adding monitoring
    • Or in not logging everything as info
    • Or in actually documenting features
    • Or in receiving critical PR review
    • Or in addition input validation
    • Or in not trusting the client

    …etc

    Honestly most devs… Kinda suck at their job. This is becoming more evident to me every year


  • Why would it be on each dev to setup?

    Your repo can, and should, include workspace settings for major editors that provide a uniform experience for anyone onboarded to the platform.

    I agree that precommit hooks are good for uniformity. But slow pre commit hooks are frustrating, they are also often turned off. Your CI will always be the last gatekeeper for linting/formatting rules regardless.

    Making precommit hooks slower means more devs disable them, which is the opposite of what you want. Save them for simple, read, checks and validations that can run in < 1s for even huge changesets.






  • They work great when you have many teams working alongside each other within the same product.

    It helps immensely with having consistent quality, structure, shared code, review practices, CI/CD…etc

    The downside is that you essentially need an entire platform engineering team just to set up and maintain the monorepo, tooling, custom scripts, custom workflows…etc that support all the additional needs a monorepo and it’s users have. Something that would never be a problem on a single repository like the list of pull requests maybe something that needs custom processes and workflows for in a monorepo due to the volume of changes.

    (Ofc small mono repos don’t require you to have a full team doing maintenance and platform engineering. But often you’ll still find yourself dedicating an entire FTE worth of time towards it)

    It’s similar to microservices in that monorepo is a solution to scaling an organizational problem, not a solution to scaling a technology problem. It will create new problems that you have to solve that you would not have had to solve before. And that solution requires additional work to be effective and ergonomic. If those ergonomic and consistency issues aren’t being solved then it will just devolve over time into a mess.




  • There are markup languages for this purpose. And you store the rich text as normal text in that markup language. For the most part.

    It’s typically an XML or XML-like language, or bb-codes. MS Word for example uses XML to store the markup data for the rich text.

    Simpler and more limited text needs tend to use markdown these days, like Lemmy, or most text fields on GitHub.

    There’s no need to include complex technology stacks into it!

    Now the real hard part is the rendering engine for WYSIWYG. That’s a nightmare.


  • The ecosystem is really it, C# as a language isn’t the best, objectively Typescript is a much more developer friendly and globally type safe (at design time) language. It’s far more versatile than C# in that regard, to the point where there is almost no comparison.

    But holy hell the .Net ecosystem is light-years ahead, it’s so incredibly consistent across major versions, is extremely high quality, has consistent and well considered design advancements, and is absolutely bloody fast. Tie that in with first party frameworks that cover most of all major needs, and it all works together so smoothly, at least for web dev.




  • This is a weird take given that the majority of projects relevant to this article are massive projects with hundreds or thousands of developers working on them, over time periods that can measure in decades.

    Pretending those don’t exist and imagining fantasy scenarios where all large projects are made up of small modular pieces (while conveniently making no mention to all of the new problems this raises in practice).

    Replace functions replace files and rewrite modules, that’s expected and healthy for any project. This article is referring to the tendency for programmers to believe that an entire project should be scrapped and rewritten from scratch. Which seems to have nothing to do with your comment…?