下面是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