patterncsharpMinor
Too Many Staff Meetings
Viewed 0 times
staffmeetingstoomany
Problem
I recently got in really deep on a question to find the overlapping meetings and I rewrote a bit of the code and added some things to the code, and I would just like a general review of my code and what I could do to make it even better, maybe performance wise or whatever.
Here is my LINQPad 5 Code Dump, you should be able to copy paste into LINQPad and run it, I don't think I did anything that is too cutting edge.
```
{
var format = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat;
Meeting[] meetings = new Meeting[]
{
new Meeting(DateTime.Parse("1/1/2015 21:30", format), DateTime.Parse("1/1/2015 23:00", format)),
new Meeting(DateTime.Parse("1/1/2015 23:10", format), DateTime.Parse("1/1/2015 23:30", format)),
new Meeting(DateTime.Parse("1/1/2015 20:00", format), DateTime.Parse("1/1/2015 21:30", format)),
new Meeting(DateTime.Parse("1/1/2015 22:10", format), DateTime.Parse("1/1/2015 22:20", format)),
new Meeting(DateTime.Parse("1/1/2015 23:20", format), DateTime.Parse("1/1/2015 23:50", format)),
new Meeting(DateTime.Parse("1/1/2015 23:20", format), DateTime.Parse("1/2/2015 00:00", format)),
new Meeting(DateTime.Parse("1/2/2015 09:00", format), DateTime.Parse("1/2/2015 12:00", format)),
new Meeting(DateTime.Parse("1/2/2015 09:00", format), DateTime.Parse("1/2/2015 10:00", format)),
new Meeting(DateTime.Parse("1/2/2015 11:00", format), DateTime.Parse("1/2/2015 11:30", format))
};
var overlappingMeetings = meetings.Overlappings();
var meetingsOverlap = meetings.Overlappings().Any();
overlappingMeetings.Dump();
meetingsOverlap.Dump();
}
public static class StaffMeetings
{
public static IEnumerable Overlappings(this IEnumerable meetings)
{
var first = (Meeting)null;
var orderedMeetings = meetings.OrderBy(m => m.Start);
var checkedMeetings = new List();
foreach (var meeting in orderedMeetings)
{
Here is my LINQPad 5 Code Dump, you should be able to copy paste into LINQPad and run it, I don't think I did anything that is too cutting edge.
```
{
var format = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat;
Meeting[] meetings = new Meeting[]
{
new Meeting(DateTime.Parse("1/1/2015 21:30", format), DateTime.Parse("1/1/2015 23:00", format)),
new Meeting(DateTime.Parse("1/1/2015 23:10", format), DateTime.Parse("1/1/2015 23:30", format)),
new Meeting(DateTime.Parse("1/1/2015 20:00", format), DateTime.Parse("1/1/2015 21:30", format)),
new Meeting(DateTime.Parse("1/1/2015 22:10", format), DateTime.Parse("1/1/2015 22:20", format)),
new Meeting(DateTime.Parse("1/1/2015 23:20", format), DateTime.Parse("1/1/2015 23:50", format)),
new Meeting(DateTime.Parse("1/1/2015 23:20", format), DateTime.Parse("1/2/2015 00:00", format)),
new Meeting(DateTime.Parse("1/2/2015 09:00", format), DateTime.Parse("1/2/2015 12:00", format)),
new Meeting(DateTime.Parse("1/2/2015 09:00", format), DateTime.Parse("1/2/2015 10:00", format)),
new Meeting(DateTime.Parse("1/2/2015 11:00", format), DateTime.Parse("1/2/2015 11:30", format))
};
var overlappingMeetings = meetings.Overlappings();
var meetingsOverlap = meetings.Overlappings().Any();
overlappingMeetings.Dump();
meetingsOverlap.Dump();
}
public static class StaffMeetings
{
public static IEnumerable Overlappings(this IEnumerable meetings)
{
var first = (Meeting)null;
var orderedMeetings = meetings.OrderBy(m => m.Start);
var checkedMeetings = new List();
foreach (var meeting in orderedMeetings)
{
Solution
Just a quick shot
This
doesn't buy you anything. Overriding a method and the calling the
This
public override bool Equals(object obj)
{
return base.Equals(obj);
}
public override int GetHashCode()
{
return base.GetHashCode();
}doesn't buy you anything. Overriding a method and the calling the
base method is just rubbish which lays around in the codebase.Code Snippets
public override bool Equals(object obj)
{
return base.Equals(obj);
}
public override int GetHashCode()
{
return base.GetHashCode();
}Context
StackExchange Code Review Q#144790, answer score: 8
Revisions (0)
No revisions yet.