Earlier quoted context omitted.
I think all code at a certain scale has it's fair share of messiness, it's just unavoidable as the battle becomes not so much about code quality, but the cognitive difficulty of keeping everything in the human brain. I am no fan of the OO design-patterns dogmatic approach and that whole cultish paradigm hurts my eyes when I look at it in code form, but I understand how even the best programmers in a field get into th…
U am a new developer who is being thought Object oriented design. What is the alternative approach to OO? functional?
Mastering Programming (2016)
111–120 of 123 posts
Re: Mastering Programming (2016)
#112Having spent entire days years ago poring through the JUnit 3 source code and having been completely dejected by the quality of the code there, I don't really trust Kent Beck to give advice on anything related to programming.
> completely dejected by the quality of the code there Please list a project of equal complexity that has been written beautifully from start to finish in your opinion. This myth of beautiful coding needs to stop! Code is not a masterpiece from Van Gogh, it needs to ship. This determines quality, not the usage of some obscure/mainstream/unreadable/oh-look-how-cool-I-am idiosyncracy of the language. If you ain't shipp…
libfreetype is an example of a great library, clean and well documented...
beautiful coding isn't a myth, it actually works... write code like poetry and it pays off 10 fold... less errors, easier to reason about, malleable... the benefits are extreme... try to actually experience something before making unfounded claims... i've been writing beautiful for over a decade now... once you realize code is written once and read 100 times, you'll come to the realization of doing it clean and right the first time pays of in the future, which means less work and bullshit...
Re: Mastering Programming (2016)
#113A lot of the comments criticize the article for being inaccessible to beginners, and I think they're justified—without examples it's hard to know what the author is talking about without having first passed through the fire. Having said that, I think he's talking about a crucial part of programming that beginners simply don't appreciate: how to break big problems into small problems. In other words, how to unstick ch…
I would say don't work on the branches first. If something is simple and predictable, it can be done later. (This also allows you to slowly converge on a completion date since all the stuff you've put off is simpler and easier to understand and predict in terms of schedule.) Best to work on the challenging, unknown items first, especially if they form the core that everything will rely on. It gives you time to work o…
Re: Mastering Programming (2016)
#114Re: Mastering Programming (2016)
#115Earlier quoted context omitted.
> completely dejected by the quality of the code there Please list a project of equal complexity that has been written beautifully from start to finish in your opinion. This myth of beautiful coding needs to stop! Code is not a masterpiece from Van Gogh, it needs to ship. This determines quality, not the usage of some obscure/mainstream/unreadable/oh-look-how-cool-I-am idiosyncracy of the language. If you ain't shipp…
wow thats the biggest cop out i've ever heard. quality 100% matters, if not even more. shipping crap code still makes it crap and it will come to bite you in the end. libfreetype is an example of a great library, clean and well documented... beautiful coding isn't a myth, it actually works... write code like poetry and it pays off 10 fold... less errors, easier to reason about, malleable... the benefits are extreme..…
> write code like poetry
When a code base reaches a certain size it's hard to write "beautiful code". Please don't pretend that it is just as easy when you have multiple complexities/priorities. If you write so called beautiful code in complex projects, good for you.
Re: Mastering Programming (2016)
#116Anyone who says 'they get it' is likely just afraid they will be viewed as stupid if they say they're confused.
Anyone remember the story of the "emperor's new clothes?"
Re: Mastering Programming (2016)
#117> Multiple scales. Move between scales freely. Maybe this is a design problem, not a testing problem. Maybe it is a people problem, not a technology problem [cheating, this is always true]. The key to this is realizing that once you decide a problem is at a certain scale, the fix needs to be at that scale too. So you might have a data problem, a code problem, a workflow problem, a design problem, an architectural pro…
Re: Mastering Programming (2016)
#118> Multiple scales. Move between scales freely. Maybe this is a design problem, not a testing problem. Maybe it is a people problem, not a technology problem [cheating, this is always true]. The key to this is realizing that once you decide a problem is at a certain scale, the fix needs to be at that scale too. So you might have a data problem, a code problem, a workflow problem, a design problem, an architectural pro…
Oh, wait: how is a project problem is above a team problem? I use to think that teams outlast projects.
These problems have to be tackled by management. Management has to change the scope and goals of the project so that the design team can better create deliverables for the engineering team to build.
Once you get to this level, generally the coders can only raise issues, they don't have the expertise necessary to actually recommend solutions.
About the only thing a coder can do if he sees something like this is to work really hard to actually understand what's going on, raise his concerns to management, and if he doesn't like their answer, get another job. Because chances are, if the project dies, so will his job.
Re: Mastering Programming (2016)
#119Earlier quoted context omitted.
> The enlightened sit nodding along, while the unenlightened go away confused or misled. Positioned this way, half-understood ideas frequently do more harm than good. I think this puts a lot of things into perspective for me. There will be a blog post about some topic on HN, and it seems that everyone in the comments just gets it. Yet I'm over here like, "Yes. I know some of those words. Maybe I'll get the concept a…
Another problem that I've noticed with FP especially (although I get the impression that OOP had this problem too when it was the new hotness, and I've seen hints of it happening with Rust) is that there seem to be a lot of novices who fall in love with the concept and start evangelizing it, convinced that This Changes Everything. But they can't back it up with a lot of practical experience, can't describe any caveat…
Re: Mastering Programming (2016)
#120Earlier quoted context omitted.
This is the crux of the problem with a lot of software engineering culture as it stands today - blog posts and talks frequently deliver abstract concepts that only really make sense to people who have already grasped/discovered those concepts. The enlightened sit nodding along, while the unenlightened go away confused or misled. Positioned this way, half-understood ideas frequently do more harm than good. TDD is a gr…
> This is the crux of the problem with a lot of software engineering culture as it stands today - blog posts and talks frequently deliver abstract concepts that only really make sense to people who have already grasped/discovered those concepts. I'd like to see a blog post on just that point. well said.