我只是好奇地想知道,因爲這段代碼的代碼複雜度爲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