|
|
Microsoft used to do that after their module testing : just release it and let customers find the bugs.
But this changed : they also skip the module tests now.
|
|
|
|
|
Haha, yes, a prod database would be perfect, but I meant I'd want something like that public, or semi-public, i.e. registered users.
Do what thou wilt shall be the whole of the Law. - Liber AL vel Legis 1:40, Aleister Crowley
|
|
|
|
|
If you created your application using the Event Sourcing pattern you could do exactly that. Since every event would be timestamped, you could replay an entire day's worth (or month's worth, or more) of actual use of your application. You could do it in real-time, or greatly accelerated to test specific components of the application.
You can see this at play on a very small scale in this video about time-travel in Redux dev tools. Since every change to application state is stored as an event, it becomes easy to debug by stepping backward or forward to view the application state at any point in time.
|
|
|
|
|
Incorrect invoices being created?
That is OracleERP for you!
|
|
|
|
|
And most in-house, DIY ERP systems.
Do what thou wilt shall be the whole of the Law. - Liber AL vel Legis 1:40, Aleister Crowley
|
|
|
|
|
Just a personal preference, but I've come to dislike the look of this syntax. I think it's the indentation.
StudentName student2 = new StudentName
{
FirstName = "Craig",
LastName = "Playstead",
};
vs
StudentName student2 = new StudentName();
student2.FirstName = "Craig";
student2.LastName = "Playstead";
|
|
|
|
|
You don't have to indent like that.
This space for rent
|
|
|
|
|
In C++11 you can just (when you have declared the proper constructor)
StudentName student2 = {"Craig", "Playstead"};
It would surprise me if C# had no corresponding way...
... such stuff as dreams are made on
|
|
|
|
|
megaadam wrote: StudentName student2 = {"Craig", "Playstead"};
It hasn't, at least not that direct.
The closest attainable solution is to define a constructor with needed parameters.
You always obtain more by being rather polite and armed than polite only.
|
|
|
|
|
Or the very subject of this topic, an object initializer:
StudentName student2 = new StudentName {"Craig", "Playstead"};
Do what thou wilt shall be the whole of the Law. - Liber AL vel Legis 1:40, Aleister Crowley
|
|
|
|
|
Give it another iteration of new language features and we'll probably have the even shorter C++ version. At times I wish they went faster but at least MS is steadily chipping away at language verbosity in C#; unlike Sun/whOracle who seem to revel in Java's bloatyness.
Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason?
Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful?
--Zachris Topelius
Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies.
-- Sarah Hoyt
|
|
|
|
|
I would Java.Lang.Objection.RaiseSpecificObjection.Object to that slam on Java being wordy!
|
|
|
|
|
I just love it. Most of the terseness is easy to read as well, except those LINQ monsters that ReSharper turns your loops into. Even a few of them are easier to read.
Do what thou wilt shall be the whole of the Law. - Liber AL vel Legis 1:40, Aleister Crowley
|
|
|
|
|
I like it when it's short enough to fit on a line:
StudentName student2 = new StudentName{FirstName = "Craig", LastName = "Playstead"};
But when it gets bigger than that I prefer the older form. Or, if it could indent it like this:
StudentName student2 = new StudentName{FirstName = "Craig",
LastName = "Playstead"};
I'd be happy.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
I always use your second style here, all function calls are broken up with one param per line, all neatly lined up. (I am so anal about code tidyness )
|
|
|
|
|
Munchies_Matt wrote: I am so anal about code tidyness
... and sooo paid by the LOC it seems
modified 19-Nov-18 21:01pm.
|
|
|
|
|
We actually align the = signs as well. It makes it MUCH easier to read the 2 columns of assignment!
(so you shouldn't feel overly anal about it)
|
|
|
|
|
Anything that gets rid of squirly brackets has got to be good.
|
|
|
|
|
Chris C-B wrote: Anything that gets rid of squirly brackets has got to be good. Long live VB!
There are only 10 types of people in the world, those who understand binary and those who don't.
modified 24-Aug-16 9:30am.
|
|
|
|
|
My thoughts exactly!
|
|
|
|
|
StudentName student2 = new StudentName
{
FirstName = "Craig"
,LastName = "Playstead"
};
Nothing at all wrong with that, and requires less typing than your preferred method. Of course, the ultimate in "less typing" is a constructor with a parameter for each property:
StudentName student2 = new StudentName("Craig", "Playstead");
In the end, your preference doesn't matter within the context of your employer's coding standards, and no matter which way you go, they all do essentially the same thing.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
You moved the comma in the initializer though; saves a keypress if one would copy/paste an entry
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I moved the comma because when you're typing that initializer, you need to type a space (or the first letter of a property name that hasn't already been initialized) for intellisense to work. Keeps things lined up as well until I can fiddle with it a little more to make it pretty.
".45 ACP - because shooting twice is just silly" - JSOP, 2010
- You can never have too much ammo - unless you're swimming, or on fire. - JSOP, 2010
- When you pry the gun from my cold dead hands, be careful - the barrel will be very hot. - JSOP, 2013
|
|
|
|
|
John Simmons / outlaw programmer wrote: Nothing at all wrong with that,
Except for the leading comma, which is an abomination.
I see people use that in SQL queries, who argue that it makes it easier to rearrange the lines without having to remember to add/remove the comma. But it doesn't - you've just moved the problem from the end of the list to the start of the list.
And in C#, that's not even a real problem. You can have a trailing comma on every item, including the last:
StudentName student2 = new StudentName
{
FirstName = "Craig",
LastName = "Playstead",
};
As for invoking Intellisense, Ctrl+Space will do the trick without having to insert extra spaces.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|