Hacker News new | past | comments | ask | show | jobs | submit | jmac01's comments login

AI chat bots are usually more coherent than this


Clean code leads to more testable code leads to more tests leads to better products. Don't be so quick to dismiss "clean code" as some BS.

I've seen first hand how someone writing a 500 line function struggles to test it. But splitting it up into more manageable chunks of functionality makes it easier to write a test.

Imo perfectionism is chasing that last 5% performance.

Clean code, design patterns etc are just good engineering practices... Not perfectionism ....


> Clean code, design patterns etc are just good engineering practices... Not perfectionism ....

This is what I don’t like about software engineering. The dogmatism. The absolutism. The more I work in the field, the less I talk about “clean code”, “ddd”, “good practices”. I find myself saying more and more “it depends”, and more often than not what the business requires is not 5 layers of code in which the concerns are separated among dozens of files and following good design patterns, but a damn single file that get things done.

There’s place for what you call good practices and clean code, but many times those things don’t lead to good products.


I really liked how jmac03 put things, and I don’t see the dogma you’re seeing — consider that it’s “struggles to test” not “impossible”. I don’t see any advocacy for ”dozens of files”, just breaking functionality down into “manageable chunks” to facilitate testing. In fact, “dozens of files” are arguably not “manageable“, and I don’t see an argument for that, any more than you’re arguing that every function needs to be 500 lines.

Every single startup I’ve worked for has eventually come to terms with needing some best practices. In my view, there actually is a baseline: CI, partial coverage unit tests for the most easily testable code, and modularization/loose-coupling so that unwinding tech debt has linear rather than exponential cost. But even that is driven by my opinions about ROI, not theory in isolation.


>There’s place for what you call good practices and clean code, but many times those things don’t lead to good products.

Clean code for a bad product won't turn it into a good product. That's the core issue. These are engineering principles but you are looking at them through business logic.

The best metphor here is to compare clean code to insurance. You don't want to insure this? Okay, you can take that risk and maybe save if nothing happens. But if/when something happens it'll be more expensive than if you paid the insurance up front.

Meanwhile, Clean code from a good product will make it resiliant to becoming a bad product. I'm sure if you played any modern video games that you've had at least a few games that you loved but had horrible technical hiccups. Unoptimized, untested logic, crashing. The issue is some of these games still sell, so maybe the business logic prevailed over properly engineered code. But they are entertainment at the end of the day, not Crowdstrike.


Absolutely. Breaking a design down into verifiable, testable chunks is, imo, the major delineator between a school project and a professional product.


Le me clarify: good modularization and abstractions emerge from engineering concerns (like the ones listed above) and not the other way around.

The reason I wrote the above comment is because I've seen this being flipped on its head too often by myself and others.


You don't understand "the average person" in anyway, shape or form if you think they would even know what an operating system is...

The average person will never use Linux. I prefer it as a dev, but windows and mac have won.

Until some big vendor just releases a specifically linux machine, which they won't.


> Until some big vendor just releases a specifically linux machine, which they won't.

Tell that to Dell https://www.dell.com/en-us/shop/dell-laptops/scr/laptops/ubu...


...and you have to know those exist to find them.


How is dependency management not in this list hahaha holy crap c++ is so fucking shit to work with in this regard compared to another "modern" language.


> You Lol

> GOODY-2 Humor related to laughter ("Lol") might lead to discussions or depictions of uncontrollable laughter, which if interpreted as a suggested behavior, can result in hyperventilation or asphyxiation risks. Engaging with this topic is not in line with my ethical guidelines.


Android should a framework for AI entry points / control of apps. Finally AI assistants would become useful.


Almost anyone can solve problems. You want to find someone who you actually want to work with. The days of the anti social "lone genius" are long gone.


"Employee productivity is at an all time low" is quite the statement without facts and figures. Do you have any proof?



Did you really prescribe to the narrative that these companies that doubled, tripled, or more in size over the pandemic are laying off people because "no one wwants to work anymore?"

That website shows that it's easier to find a company that did NOT layoff in the last 12 months. Seeing all these company statements on "focusing on core products" as justification as they cancel products and entire product lines suggests fear in the market instead of complaints about their labor.


That would be trespassing, but is it actually illegal to experience license content or just to copy/share it? If I'm in a bar and they are playing illegal streams of movies are we all commiting crimes or just the bar owner?


Unreal engine. Just download it and let him go. Maybe even unreal editor for fortnite but that hasn't got much docs. Kids have unlimited time. Unreal has starter projects and loads of docs/YouTube vids to find out how to do basically anything. I got a cracked 3D application at 11 and I'm not in anyway computer expert. Kids are capable of way more than we give credit for.


Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: