|
TypeScript 1.8 provides full support for module augmentation, delivers a stronger type system with string literal types, and catches even more common bugs with smarter control flow analysis. For those who like their var to be a little more detailed
|
|
|
|
|
If you’re not familiar and don’t have time to read the linked Wikipedia page, SOLID is a mnemonic acronym for five principles of object oriented programming or, as I hinted, really just programming in general (except, perhaps for the Liskov Substitution Principle). These concepts have been around since at least the early 2000s and have truly stood the test of time. "And now it's solid. Solid as a rock"
|
|
|
|
|
She's a brick house!
|
|
|
|
|
SOLID is way overrated! They have unsuccessfully tried to sell it for many years for the simple reason it is nothing of any useful sort at all!
I rather much prefer the KISS methodology! With an occasional spike of intellectual effort, to make it more simple the rest of the time!
I would go further, if it's not KISS, it's worthless!
I am looking at you the many (many many) multi layered abstraction layers architectures....
|
|
|
|
|
Super Lloyd wrote: SOLID is way overrated! In what way? I haven't heard any hype or fanfare around SOLID as they are just a set of design principles.
Super Lloyd wrote: They have unsuccessfully tried to sell it for many years Who is selling it? Are you sure you're not getting mixed up with Agile or some other methodology?
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare
Home | LinkedIn | Google+ | Twitter
|
|
|
|
|
I replied to Peter below[^]!...
|
|
|
|
|
In most cases, I tend to find that SOLID apps are the most likely to fall into the KISS criteria. Which bit of SOLID do you disagree with?
This space for rent
|
|
|
|
|
well.. it's just a rant to be accurate.. but here is the background story of my outburst:
I found out that people who like principle, often overlook simplicity.
in my previous company, full of web developer, some of them (and some project manager) would stick to their multi layered bloated mess of a thing that would make project so overtly complex, overtime and buggy (although, since they are paid by the hours.. there is value in that).
and I compare that to successfully delivered project of similar size delivered in less time and less bug, not just mere frustration.
They would always use some abstract principle (like separation of concern or, yes! SOLID) to justify it in some vaporous misleaded ways... (they read the book or had the training, you see!)
my take on it is people who value principles over simplicity (and not simplicity as a "pattern" since there is no such thing, but as something you learn to perceive after programming for... 18 years..) are... a bad thing to have...
and.. if one must take something from the book I will favor technique over principle. technique is a mere tool to use when appropriate... and ignore at others...
|
|
|
|
|
I don't think this is a reflection on SOLID, rather it's a reflection on people who try to appear cleverer than they are. Sometimes it's an experience thing - it takes a lot of hard work to get to the point where you write less code to solve a problem. Experience brings you an arsenal of tricks that you can use to simplify your code.
This space for rent
|
|
|
|
|
That's the problem. People are abusing how to do things and they blame on the principle.
|
|
|
|
|
It's taking me a lot of hard work to figure out who's really SOLID, and who's just cleverly impersonating SOLID. But, if there's anybody who's SOLID around here, I am sure it is Pete O'Hanlon. Pete O'Hanlon wrote: a lot of hard work to get to the point where you write less code to solve a problem Amen to that ! And, I think that to some extent "serendipity" come into play with that: in the original tale of the "Princes of Serendip" from which that word comes, an essential ingredient was that the Princes were actively looking for something, and they had the quality of "sagacity," the ability to recognize that fortuitious moment of discovery as being as important as it was.
Unfortunately, "serendipity" has now become mis-used to mean "weird stuff just happens," or refer to various mystical manifestations of whatever.
«In art as in science there is no delight without the detail ... Let me repeat that unless these are thoroughly understood and remembered, all “general ideas” (so easily acquired, so profitably resold) must necessarily remain but worn passports allowing their bearers short cuts from one area of ignorance to another.» Vladimir Nabokov, commentary on translation of “Eugene Onegin.”
|
|
|
|
|
This really has nothing at all to do with the SOLID principles. Imposing multi-layered architectures where they don't add any value is just poor design. In fact Joel Spolsky famously refers to these types as "Architecture Astronauts". They are just too far removed from the problem as to make any real contribution.
The SOLID principles are well worth understanding and mastering. Your applications will be all the better for doing so.
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare
Home | LinkedIn | Google+ | Twitter
|
|
|
|
|
Dominic Burford wrote: Architecture Astronauts
Love it!
Must be that!
|
|
|
|
|
I guess if you value simplicity first (in other words, do more with less while making the code more readable for others) and those principles give you some inspiration for going further down that road.. then I am all for it!
also you should check with your colleague if they find it more simple... (since you will be biased towards you own creation) there is a really good marker for it. If you do something and they start copying you furiously, you obviously did something right! if They keep pestering about it.. you are going the wrong way...
also have a look back at it one year later... another marker
|
|
|
|
|
Super Lloyd wrote: you should check with your colleague if they find it more simple We do peer-reviews of ALL code before it gets checked in, so we're constantly checking each others work. Simplicity should be inherent in any solution - if your code isn't as simple as the job demands, we're probably going to knock you back. Sometimes code isn't simple just because the task isn't simple - but it should be as simple as possible. Saying that, I put my money where my mouth is here - when I write articles now, I try to demonstrate SOLID in my code, and keep it simple. Done well, SOLID is incredibly elegant.
This space for rent
|
|
|
|
|
Prebuilt stacks offer a handy shortcut, but sometimes the shortcut leads to a longer journey. Except for that new one. It will solve all the problems.
|
|
|
|
|
Interesting that he left out the most common issue: after you've gone through, scoured the source, and modded as much as you need, it won't scale.
The full-stack solutions I've worked with have so much going on to cover the one-size-fits-all paradigm that they do not scale. At all.
|
|
|
|
|
In May 1969, while passing over the far side of the Moon, the crew of Apollo 10 heard something strange. Cut off from contact with Houston back on Earth, the three of them were alone, listening to what they described as “outer-space type music.” It was, "The Great Gig In The Sky" wasn't it?
|
|
|
|
|
|
Obviously
|
|
|
|
|
|
If you think the moon is 2000 light years away, you need to retake astronomy 101.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
Who says he was talking about our moon? Certainly there is a moon 2000 light years away!
Decrease the belief in God, and you increase the numbers of those who wish to play at being God by being “society’s supervisors,” who deny the existence of divine standards, but are very serious about imposing their own standards on society.-Neal A. Maxwell
You must accept 1 of 2 basic premises: Either we are alone in the universe or we are not alone. Either way, the implications are staggering!-Wernher von Braun
|
|
|
|
|
As with most things in software development the ultimate currency for comments is time. /*Does something here*/
|
|
|
|
|
This afternoon I spent some time wrestling with an SSIS component I downloaded from Codeplex -- the comments are not in English.
|
|
|
|