这年头做开源项目,被冷嘲热讽,FreeSql 0.0.4
FreeSql 项目大概在20天前想着要做的,今天发布0.0.4在群里被一位大神讽刺。
这位无名氏哥们的观点,先声明这不是找安慰的文章,更加不是报复打击的目的。
1 所以这个比EF好在哪里
2 毕竟EF是官方的技术,你自己造的轮子得说明自己哪里不是重复造轮子,而不是问已有的轮子到底怎么样
3 EF完全可以胜任并且超出一个ORM框架需要的所有功能
4 你可以觉得EF不够好,自己做一个更好的,但是这建立在你能指出EF哪里不好的前提下
5 另外插入一个话题,[图片]这个项目引用 很显然 这违背了.NET Core的小包思想,四个字,按需引用
6 这根本就不是什么拆包的问题,而是在开发的时候就是小包,你不了解.NET Core的思想,每必要非得说自己是正确的,有人教你,你就虚心接受,没什么大不了的
7 你target了.NET Standard,却走的是原来的那一套思路,
8 在接受一个新的平台的时候,你需要接受它的思想
9 不要重复造轮子,你如果觉得ef有缺陷,哪不好,自己提issue,给pull request,如果你觉得ef一无是处,你自己做,那也得说明它比ef好在哪里,是吧
10 你和ef的区别在于你把sql语句暴露出来了,而ef是使用IQueryable来完全封装sql的
11 IQueryable是一个标准接口,你要标新立异,本来就是兼容性很差的
12 你觉得微软不对你可以别用微软,但是你用微软你就得遵循用微软的人在遵循的标准
13 ORM框架本身,并不是一个功能性的东西,就是提供一个优雅的coding style,但是你的ORM框架,却忽略了coding style的问题
14 现在.NET上的ORM框架、甚至是一些no sql的数据驱动,他们的查询操作,主流的,你觉得有几个不是实现IQueryable接口的?
15 你标新立异,就代表着现存项目没有这个开发成本来重构成基于你的框架的版本,新的项目也无法接受选型你这个框架的风险
16 不实现IQueryable接口的查询API,实际项目无论是迁入到你这个框架,还是从你的框架迁出到别的框架,都有巨额的重构成本
17 你写出来一个东西来符合自己的理解,自己觉得更优雅,但是实际项目选型的时候要选用你的框架,会有这些问题:
1)你的文档中没有任何对比说明你的框架哪比EF更好
2)你的框架迁入迁出成本太高
3)你的框架缺乏学习资源
4)你的框架缺乏可靠的社区支持
18 是,有了.NET Core,微软拥抱开源了,.NET开发者都可以融入开源社区了,但是你得知道什么是开源社区,开源社区什么东西能好,什么东西得避免,开源社区的运作思想,而不是,哦,我写一个库,放github上,就是开源,你造轮子也得按照基本法,不要重复造轮子
19 [图片]从关键字搜索来看,这个项目里没有任何连接池控制的逻辑
20 我不知道你的项目里有没有实现数据库的版本控制的逻辑,如果没有,那你真的该去好好了解为什么要用ef,如果有,那么你是真正的勇士,花了一大把时间来重复造了一个很繁琐的轮子
21 算了,你自己要花时间,谁也拦不住,但是当成果被认可的程度没有达到你的预期时,请不要忘记我曾经提醒过你,大家都是程序员,坑都得自己跳一下才知道深,这个我是理解的
老哥应该是怕我被坑,我觉得做项目不容易,愿意开放源代码不应该鼓励吗?下班的时候和这位老哥聊了半小时,我很感激你的提醒,但是我需要更多的应该是认可。
咱们无偿开放源代码容易吗,好好给一点点鼓励就行,.net社区的未来才会更好。
项目仓库:https://github.com/2881099/FreeSql
目前版本 0.0.4,目前可用性已经挺高了,如果觉得不容易,请给予一星,谢谢
这年头做开源项目,被冷嘲热讽,FreeSql 0.0.4的更多相关文章
- Github上关于iOS的各种开源项目集合(强烈建议大家收藏,查看,总有一款你需要)
下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITableVie ...
- Coolpy开源项目简介
1.Coolpy初识 基于ARDUINO的迷你操作系统.只需一个ARDUINO主板+Ethernet Shield即可运行.成本低,Coolpy主件以目前淘宝价只需要76元人民币. 2.Coolpy能 ...
- 阿里开源项目 druid 相关资料汇总
项目发起人访谈:http://www.iteye.com/magazines/90 github主页:https://github.com/alibaba/druid druid 项目,我想我能用很短 ...
- github上关于iOS的各种开源项目集合(转)
UI 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. SVPullToRefresh - 下拉刷新控件. MJRefresh - 仅需一行代码就可以为UITable ...
- iOS -- 开源项目和库
TimLiu-iOS 目录 UI 下拉刷新 模糊效果 AutoLayout 富文本 图表 表相关与Tabbar 隐藏与显示 HUD与Toast 对话框 其他UI 动画 侧滑与右滑返回手势 gif动画 ...
- 转: Github上关于iOS的各种开源项目集合
https://blog.csdn.net/jiashaoying/article/details/79079500 下拉刷新 EGOTableViewPullRefresh - 最早的下拉刷新控件. ...
- 一个基于 Vue3 的开源项目,3个月时间 star 终于破千!
本文主要是对如何做开源项目的一些思考. 前文回顾: <Vue3 来了,Vue3 开源商城项目重构计划正式启动!> <一个基于 Vue 3 + Vant 3 的开源商城项目> 关 ...
- 原创开源项目HierarchyViewer for iOS 2.1 Beta新功能介绍
回顾 HierarchyViewer for iOS是我们发布的一个开源项目,采用GPL v3.0协议. HierarchyViewer for iOS可以帮助iOS应用的开发和测试人员,在没有源代码 ...
- .NET ORM 开源项目 FreeSql 1.0 正式版发布
一.简介 FreeSql 是 .NET 平台下的对象关系映射技术(O/RM),支持 .NetCore 2.1+ 或 .NetFramework 4.0+ 或 Xamarin. 从 0.0.1 发布,历 ...
随机推荐
- td默认文字超出后显示..,点击tr时td文字显示完整
做项目时,产品提的需求,table表格里面,每一列限制文字超出宽度后显示省略号,等点击td时,文字显示完整,今天整理了一下代码,积累一下 备注:1.邮箱和网址,在td里面不会自动换行,需要增加word ...
- SpringMVC+GSON 对象序列化--日期格式的处理
Gson异常强大因此使用它代替了Jackson作为SpringMVC消息转换器. 在自己的项目中,发现对象在序列化后,日期格式出现了问题. 先看问题 在员工表中有一列是生日,字段类型为Date,也就是 ...
- JDBC、DBUtils
JDBC(Java Data Base Connectivity) java数据连接 可以为多种数据库,提供统一访问,它由一组用java语言编写的类和接口组成,也是java访问数据库的规范. my ...
- python_code list_2
>>> import math>>> math.sin(0.5)0.479425538604203>>> >>> import ...
- 第七章之S5PV210移植到Nandflash
1,之前的操作都是基于SD卡进行运行的,如今在Nandfalsh中运行u-boot.因为s5p_goni.h配置文件没有配置Nand相关文件,所以先配置Nand文件. 在include/configs ...
- DX11 Without DirectX SDK--06 DirectXMath数学库
回到 DirectX11--使用Windows SDK来进行开发 xnamath.h原本是位于DirectX SDK的一个数学库,但是现在Windows SDK包含的数学库已经抛弃掉原来的xnamat ...
- Junit-4.1.2 @Test 使用
学习使用Junit-4.1.2 @Test来做单元测试 1.下载jar包 下载junit-4.12.jar 下载hamcrest-core-1.3.jar 2.在External Libraries中 ...
- Codeforces Round #483 (Div. 2) D. XOR-pyramid
D. XOR-pyramid time limit per test 2 seconds memory limit per test 512 megabytes input standard inpu ...
- Collection、List、Set集合概括
1.Collection是一个接口,定义了集合相关的操作方法,其有两个子接口List和Set. 2.List和Set的区别 List是有序的可重复集合,Set是无序的不可重复集合. 3.集合持有 ...
- 【转】spring cloud eureka 参数配置
eureka.client.registry-fetch-interval-seconds 表示eureka client间隔多久去拉取服务注册信息,默认为30秒,对于api-gateway,如果要迅 ...