HiveBrain v1.2.0
Get Started
← Back to all entries
patterncsharpMinor

Too Many Staff Meetings

Submitted by: @import:stackexchange-codereview··
0
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)
{

Solution

Just a quick shot

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.