下面是rss reader的C#代碼,爲什麼這段代碼不好?這個類將生成5個最近發佈的帖子,按標題排序。你用什麼來分析C#代碼?爲什麼這段代碼不好?
static Story[] Parse(string content)
{
var items = new List<string>();
int start = 0;
while (true)
{
var nextItemStart = content.IndexOf("<item>", start);
var nextItemEnd = content.IndexOf("</item>", nextItemStart);
if (nextItemStart < 0 || nextItemEnd < 0) break;
String nextItem = content.Substring(nextItemStart, nextItemEnd + 7 - nextItemStart);
items.Add(nextItem);
start = nextItemEnd;
}
var stories = new List<Story>();
for (byte i = 0; i < items.Count; i++)
{
stories.Add(new Story()
{
title = Regex.Match(items[i], "(?<=<title>).*(?=</title>)").Value,
link = Regex.Match(items[i], "(?<=<link>).*(?=</link>)").Value,
date = Regex.Match(items[i], "(?<=<pubDate>).*(?=</pubdate>)").Value
});
}
return stories.ToArray();
}
你能否描述你的意思是「壞」?雖然我可以說一件事,爲什麼不使用LINQ to XML來解析這個? –
錯誤意味着垃圾代碼或具有文體,功能,可維護性問題。 – Sofic
如果沒有某種度量標準,某些東西不可能是好的或壞的。這些代碼可以通過多種方式完成,但是如果不理解您想要最大化的內容,很難理解要改進的內容。 – madmik3