HamsterRage

joined 1 year ago
[–] HamsterRage@programming.dev 2 points 8 months ago (1 children)

It just works. I spent years with Eclipse (but quite some time ago now), and it was always a pain getting particular things to work properly. The last time I messed with it was doing research for an article I was writing. I was try to get Gradle support enabled. I wasn't able to do it, but I admit I gave up pretty quickly because I don't have the patience for messing with tools that don't work any more.

In truth, I really liked the Open aspect of Eclipse and I wish it work better than Intellij. Maybe it does now - I don't know. For Java Intellij is awesome, and does everything you could ever dream for. For Kotlin - well Kotlin is an Intellij product and the support for it is awesome.

[–] HamsterRage@programming.dev 2 points 8 months ago

That looks cool, but I have no idea what it does.

Anticipating complexity is a critical core concept that isn't taught in school either. Nothing of value ever stays simple. Unfortunately, it takes years of experience before you figure that out.

[–] HamsterRage@programming.dev 1 points 8 months ago* (last edited 8 months ago)

I use Markdown with Jekyll because it integrates nicely with GitHub Pages and I can run it locally for authoring. There's tons of support for it, as far as I can tell. Jekyll uses Liquid for templating, and it seems pretty good. For layout, I use Minimal Mistakes which has a really nice feel and it's comparatively easy to customize. Once I was through all the layout configuration stuff, it's really just a matter of writing articles and pushing them up to GitHub - rarely fiddle with anything technical these days.

[–] HamsterRage@programming.dev 2 points 8 months ago* (last edited 8 months ago)

For me, it's mostly Java and Kotlin. I look for the same kind of things. Things that I like to see:

  • Short methods.
  • Small classes
  • Sensible packages
  • Variables declared to Interfaces not implementations
  • Single Responsibility Principle applied.
  • DRY applied.
  • Good names for variables and methods
  • Few instance variables
  • Few static members
  • No comments, because you don't need them
  • Uses lambdas, Streams and Optional
  • No empty Catch{} blocks
  • No f*&^*cking! arrays.

I can generally tell in a few minutes if something is going to be a pain to work with.

[–] HamsterRage@programming.dev -1 points 8 months ago (3 children)

I used Atom for markdown editing for my blog and I loved it. After the death of Atom I felt forced to switch over to VS Code and I hate it.

Hate, Hate. Hate.

I can't tell you why, I just hate it.

I found Pulsar last week and my blood pressure is down where it belongs now.

For programming in Java & Kotlin I use Intellij Idea CE. I cannot image why anyone would bother with VS Code for this purpose either.

 

I have a blog where I talk mostly about all things JavaFX, but this is one of the rare times that I write about something more general:

It's All About (Loose) Coupling

I have about 35 years professional programming experience, and I've read literally millions of lines of code in that time. I've seen some great code, but mostly tons and tons of horrible code (a lot of that my own code from some time past) that I've been tasked with somehow fixing or enhancing. Over that time, I've often pondered what makes some code "good" and others "bad".

My experience has shown me that excessive coupling is just about the worst thing that can happen to a code base in terms of sharing it and maintaining it. Yet, almost no new programmers (and a lot of experienced ones) seem to understand how important it is, and how to avoid it.

In this article, I review the kinds of coupling that I see all the time in projects that I look at. I try to explain how each type of coupling causes issues, how to recognize it and strategies to avoid or remove it.

Take a look, and let me know what you think.