private decimal MemberStrength(IProgrammer member) { var rank = member.Details.Rank; var skillIndex = Array.IndexOf(member.Details.Skills.ToArray(), _language) + 1; var leader = _members.First(); var degreesOfSeparation = leader.Equals(member) ? 1 : _degreesOfSeparation.Between(leader, member); return(rank / (skillIndex * degreesOfSeparation)); }
public int DegreesOfSeparation(string programmer1, string programmer2) { return(_degreesOfSeparation.Between(GetByName(programmer1), GetByName(programmer2))); }