第一篇:http://topic.csdn.net/u/20110627/17/3b07877b-6c88-4640-a6de-7a7748d4eb28_2.html
首先谢谢大部分的人捧场,谢谢大家。
本来我要发布第二个版本的,第一个版本里面发现了一个比较重大的bug,第二次以后的保存会出现问题,已经修改了。但是看了部分人的评论实在是生气!!!第二个版本不这样开源了,谁想要私下找我吧。
下面我来集中回复下部分人的评论。
首先是关于题目的。
我从来没认为csdn是个严肃的场合,也没觉得csdn是个正式的场合。我不光题目不严肃了,内容也不严肃,也加了“坑爹”等比较火的词语。我没开新闻发布会要要发布我的代码XXXXX,我给大家开源,还有人这样说我
----看楼主说话就知道楼主是什么素质的人。素质差的人水平再好也是白搭。强烈要求斑竹别把这种人的文章拿来当推荐。免的外行人都以为程序员都是这种素质。----
其次是关于代码极规范问题,我这个版本的代码确实不规范,我承认,如果是善意的指出,我绝对一百个接受,但是有的人是嘲笑,讽刺。我的确不是什么大牛,您大牛,您规范,您倒是也开一个源啊,来个规范的让我看看!再次我解释一下为什么代码不太规范,首先,这个项目我是利用业余时间写的,基本上用了一周多的时间,平时的工作就非常忙,所以累积根本没有几个小时估计10个小时左右,这表面上的600多行代码也是经过N次删减的,我甚至在注释上也标出了一些不好的地方。我实现功能以后,抱着急切的心情就赶紧开源了,以后会有第二个版本,第三版本,第N版本的,bug会处理,代码也会规范化的,也有人用这个联系到我的素质,实在让人伤心。还有比较重要的一点,本身这个程序就是要拼接大量的字符串,肯定会造成代码混乱,我也想请教各位达人,对于这样的项目,拼接大量的,超级长的字符串有没有什么好办法。太伤心,第一次开源就招致这个结果。
我只想问大家,是生下来就会编程吗??谁不是一步一步走过来的?我之所以写这个东西,是因为我在网上想找个AccessTO实体类的工具,却搜不到,我开源了之后,谁在有相同的需求不就能搜到了吗????况且我还开源了,哪里不合适您可以自己改啊!我觉得能为这么多不曾相见的朋友贡献点力量,想让一些水平比较低的朋友更好的提高,我还有错了???我最想说的就是让那些讽刺我的,说风凉话的所谓“大牛”们,您们也都开开源,千万记得开源要用礼貌用语!!代码规则还要规范!!!
首先谢谢大部分的人捧场,谢谢大家。
本来我要发布第二个版本的,第一个版本里面发现了一个比较重大的bug,第二次以后的保存会出现问题,已经修改了。但是看了部分人的评论实在是生气!!!第二个版本不这样开源了,谁想要私下找我吧。
下面我来集中回复下部分人的评论。
首先是关于题目的。
我从来没认为csdn是个严肃的场合,也没觉得csdn是个正式的场合。我不光题目不严肃了,内容也不严肃,也加了“坑爹”等比较火的词语。我没开新闻发布会要要发布我的代码XXXXX,我给大家开源,还有人这样说我
----看楼主说话就知道楼主是什么素质的人。素质差的人水平再好也是白搭。强烈要求斑竹别把这种人的文章拿来当推荐。免的外行人都以为程序员都是这种素质。----
其次是关于代码极规范问题,我这个版本的代码确实不规范,我承认,如果是善意的指出,我绝对一百个接受,但是有的人是嘲笑,讽刺。我的确不是什么大牛,您大牛,您规范,您倒是也开一个源啊,来个规范的让我看看!再次我解释一下为什么代码不太规范,首先,这个项目我是利用业余时间写的,基本上用了一周多的时间,平时的工作就非常忙,所以累积根本没有几个小时估计10个小时左右,这表面上的600多行代码也是经过N次删减的,我甚至在注释上也标出了一些不好的地方。我实现功能以后,抱着急切的心情就赶紧开源了,以后会有第二个版本,第三版本,第N版本的,bug会处理,代码也会规范化的,也有人用这个联系到我的素质,实在让人伤心。还有比较重要的一点,本身这个程序就是要拼接大量的字符串,肯定会造成代码混乱,我也想请教各位达人,对于这样的项目,拼接大量的,超级长的字符串有没有什么好办法。太伤心,第一次开源就招致这个结果。
我只想问大家,是生下来就会编程吗??谁不是一步一步走过来的?我之所以写这个东西,是因为我在网上想找个AccessTO实体类的工具,却搜不到,我开源了之后,谁在有相同的需求不就能搜到了吗????况且我还开源了,哪里不合适您可以自己改啊!我觉得能为这么多不曾相见的朋友贡献点力量,想让一些水平比较低的朋友更好的提高,我还有错了???我最想说的就是让那些讽刺我的,说风凉话的所谓“大牛”们,您们也都开开源,千万记得开源要用礼貌用语!!代码规则还要规范!!!
@"using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Data.OleDb;
using System.Data;namespace YDHnamespace
{
#region 内部使用 /// <summary>
/// 状态
/// </summary>
enum Status_y
{
/// <summary>
/// 表示新增
/// </summary>
new_y = 0,
/// <summary>
/// 表示初始化后
/// </summary>
initialized_y=1,
/// <summary>
/// 表示被修改
/// </summary>
update_y=2, /// <summary>
/// 表示被删除
/// </summary>
delete_y=3
} /// <summary>
/// 表的基类
/// </summary>
class ydhTable
{
/// <summary>
/// 内部使用,不要修改。
/// </summary>
internal Status_y MyStatus { get; set; }
//不是非常清楚泛型的概念,研究了半天,貌似这里不能用知道的大侠告诉我
public SortedList<string, object> Changes = null; /// <summary>
/// 初始化的时候为新的
/// </summary>
public ydhTable()
{
this.MyStatus = Status_y.new_y;
} /// <summary>
/// 内部使用
/// </summary>
/// <param name=""name"">列名</param>
/// <param name=""value"">列值</param>
protected void SetChange(string name, object value)
{
if (this.Changes == null)
{
this.Changes = new SortedList<string, object>();
}
if (this.Changes.IndexOfKey(name) != -1)
{
this.Changes[name] = value;
}
else
{
this.Changes.Add(name, value);
}
} /// <summary>
/// 主键
/// </summary>
List<string> _Pkey = null; /// <summary>
/// 主键
/// </summary>
public List<string> Pkey
{
get
{
if (this._Pkey == null)
{
this._Pkey = new List<string>();
}
return _Pkey;
}
set { _Pkey = value; }
}
} #endregion #region 表";
许多这么长的字符串,这么处理,我觉得我这样处理用@用让我爽很多,但是破坏了代码本身的table格式
1、关于开源,什么是开源,开源不仅仅指源代码,开源公开的是一套相对完整的解决方案,功能上也应该相对完善,代码结构也基本合理的东西,而你的这个东西远远不能算开源,连功能块都算不上,充其量只能算公开一些代码片断而已
2、关于Linq,什么是Linq,Linq可不仅仅是一个代码生成器,这个用不着我解释,有兴趣你去查MSDN另外,跟你谈谈规范的问题,良好的代码确实是重构出来的,但是,重构的是结构,而不是代码,如果你有一个良好的代码习惯,工作时间也好,业余时间也罢,是不可能写出如此混乱的代码的,我想对于你这样的代码块,对于有一定经验的开发者,没什么参考价值,而只是对一部分初学者来说,确实可能有一些参考价值,但是,这些初学者很可能本来就没有什么代码规范的概念,很不幸,如果这些初学者整天膜拜的参考的都是诸如在你上一篇帖子里贴出的东西,那么接下来的结果是什么呢?后面不用我说了
之所以推荐lz的文章,我的考虑是,一个是促进讨论,集思广益,另一个是,Access搭配Linq,的确有这样的需求,我想让大家看到这样的需求。lz肯动脑筋,并且奉献了代码,这一点难道不应该鼓励么?但是lz也要认识到,你的代码不只是代码不规范的问题,这主要怪罪于你用了一个不恰当的命名LinqToAccess。事实上,LinqToAccess会让大家想到LinqToSQL和另一个广泛流传的第三方库LinqToDB(实现了对Access、MySQL和Oracle的访问)。从技术上来说,lz的方案还非常原始,甚至都不能算LinqToAccess。我们说LinqToSQL,它的核心在于,将IQueryable 接口在幕后转换为SQL查询。并且智能地处理了SQL函数<-.NET函数的转化,Lambda表达式,表达式树等等。这个Provider是Linq2SQL的精髓。不过lz不要气馁,努力提高,总有一天会写出真正的好框架库来。