我只是好奇地想知道,因为这段代码的代码复杂度为16,如果我想在CC上达到完美的9/10,那么最好的方法是什么?我知道它不会杀了我,但我渴望学习,如果其他人会写不同我该如何重构此代码以减少CC
class SentMessages
{
public SentMessages() { }
public SentMessages(int id, string userName, string message, string messageType, DateTime createdAt)
{
this.Id = id;
this.UserName = userName;
this.Message = message;
this.CreatedAt = createdAt;
this.MessageType = messageType;
}
public string UserName { get; set; }
public int Id { get; set; }
public string Message { get; set; }
public string MessageType { get; set; }
public DateTime CreatedAt { get; set; }
public List<SentMessages> GetMessages()
{
if (AllMessages.Count == 0) AllMessages = SentMessages.InitializeMessages();
return AllMessages;
}
public List<SentMessages> AllMessages = new List<SentMessages>();
static private List<SentMessages> InitializeMessages()
{
List<SentMessages> messages = new List<SentMessages>();
return messages;
}
public void ClearMessages()
{
AllMessages.Clear();
}
}
我从http://objectlistview.sourceforge.net/cs获得此代码的概念验证码和stackoverlfow答案
是的,我会写这个不同。这是奇怪的。每次调用GetMessages都会创建新的AllMessages实例,直到消息被添加到集合中。如果没有将所有消息插入到该集合的机制,它怎么会是'AllMessages'? – Enigmativity