V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
V2EX  ›  aidevs  ›  全部回复第 21 页 / 共 41 页
回复总数  812
1 ... 17  18  19  20  21  22  23  24  25  26 ... 41  
2015 年 11 月 23 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
@xujif
@repus911

开发方向不一样,某些类型的项目是不需要写的太严禁的,我就是把 C# 当 PHP 用了
2015 年 11 月 23 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
@wizardforcel

不是很喜欢生成的那一堆东西,频繁增删改字段的时候,你就知道有多么烦了
2015 年 11 月 23 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
@xujif

linq ef linq to sql 这些东西都不好用,不用它也是有原因的
2015 年 11 月 23 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
@msg7086

是的,要把参数写的很详细

关系代数,是什么,我得去看看,.net 中似乎没这个东西,

linq 还是算了吧,从 linq to sql 到 linq to entity 都用过,不好用,深有体会
2015 年 11 月 23 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
@jarlyyn

我查了下,你说的是 参数化查询的意思,我的 sql 是参数化查询,已经封装到 dbh
只是和 mysql 有区别,你们用的 ?,我这里用的 @ ,所以我这里不存在注入的问题
andwhere += " and categoryid=@cid ";







著作权归作者所有。
商业转载请联系作者获得授权,非商业转载请注明出处。
作者:余天升
链接: http://www.zhihu.com/question/22953267/answer/23192081
来源:知乎

$stmt = $mysqli->prepare("DELETE FROM planet WHERE name = ?");
$stmt->bind_param('s', "earth");
$stmt->execute();



@msg7086

我真的不明白拼接 sql 怎么了?不拼接怎么写?
2015 年 11 月 22 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
@msg7086
不拼接 sql 你们怎么写?
2015 年 11 月 22 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
@jarlyyn 不要激动,讨论个代码而已

只是不明白你说的要怎么写,这样写代码之前,我也写过很多其它方式
2015 年 11 月 20 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
@jarlyyn

听得我听腻歪,找张图片回复你吧:

http://ww4.sinaimg.cn/large/d7646db7gw1ey7e6heym7g205a04ugnr.gif


SqlCommand.Prepare
对重复要执行的语句,使用这个方法可以提高执行效率。
跟我拼接 sql 有毛关系???
2015 年 11 月 20 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
@jarlyyn

1 、 我这里 应当算数据访问层,不太刻意追求分层,复杂的地方 会有封装,但绝不可以追求分层。可能我们不在一个领域

2 、 prepara .net 下有这玩意儿?

框架我一点都不喜欢,只想掌握最根本的东西,万变不离其宗
2015 年 11 月 20 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
@bramblex 不仅仅是性能,还有框架无法实现的细节,框架也不够灵活,必要的时候还是 tmd 要用 sql

生成出来一堆 code ,在追加字段,更改字段,删除某字段的时候,烦的一笔,发布项目更烦, entity framework 至少是这样
2015 年 11 月 20 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
@lawrencexu
@jarlyyn
@lawrencexu
@longaiwp
@wizardforcel


可能我表达的不够清楚还是不要管我内部怎么实现了,主要是在 方法的参数上


如果是以前,我会这样定义方法:

public static Common.DB.ResultList GetList(int page,int pagesize,string sort,string type,....)


调用的时候,大家应该都知道,要进行繁琐的类型转换 int.Parse()

需求一旦一改,增加一个参数或者改变一个参数,函数就被破坏掉了,或者要追加一个方法,同时要改变方法内部的实现


public static Common.DB.ResultList GetList(int page,int pagesize,int cid,string sort,string type,....)




后来我想可以增加一个参数类


public class QueryParams
{
public int Page{get;set;}
public int PageSize{get;set;}
public string Sort{get;set;}
public int Cid{get;set;}
}



这时候方法就变成这样:
public static Common.DB.ResultList GetList(queryParams Query);

增加参数,减少参数,都可以通过修改 QueryParams 的属性 和方法内部实现,而不用破坏方法对外的改变


再后来,我发现这样还是比较繁琐,写得太严谨,反而很费时

干脆把参数变更为 和 PHP 相似的 key-object 弱类型,返回值也是弱类型,这样开发效率高了很多倍

在外部传入参数的时候
KeyObjectCollection kvc = new KeyObjectCollection();
kvc["page"] = int.Parse(接收到传输过来的 Page);//这里是已经经过转换的,所以不用担心注入

public static KeyObjectResultList GetList(KeyObjectCollection query){

int page = query["page"] as int; //把 object 类型拆箱,为 int 类型

}

我发现这样更灵活,更方便,这里我本来不想讨论我 sql 拼接,我之前也用过一些框架 entity framework 等,觉得真的不好用,而且我懒得深入学习这些东西,性能和开发效率还有项目的灵活性,都不太容易掌控,所以我不愿意去用,我当然能体会到一些 orm 的好处,但是带来的一些诟病也不少,不如直接我什么都不想,直接拼 sql 好了,诸位大神,也可以说说,你们怎么写的,顺便学习学习。

我追求的东西其实也很简单:就是 - “简”,
只有把项目尽可能做到非常简单,依赖的东西非常少,项目才省心。
就像象棋,很少的规则,可以玩得很有意思。
2015 年 11 月 19 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
2015 年 11 月 19 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
@dong3580
@vivisidea

很讨厌用框架,尤其是注重性能的地方
2015 年 11 月 19 日
回复了 aidevs 创建的主题 程序员 分享下我写不需要太严谨的项目的代码风格
@jarlyyn 太繁琐,说了是不严谨,按照 传统规格去写,写死我了
@longaiwp 吓得我出了一头冷汗
@manfay 卖个 10 万一部好了,卖 5000 部就是 5 个亿
@expkzb 这个可以有
@hjc4869 我承认啊, ipad pro 是作死啊,事实上也就是在作死啊
@hjc4869

surface pro 的影响力,远不及苹果的 iphone ipad ( pro 除外) ,虽然不在同一个产品区间

比如:

surface pro 成绩是 75 分, ipad pro 的成绩是 25 分, surface pro 确实 比 ipad pro 更胜一筹,牛逼了一大截,但是又好到哪里去呢,不是高出数量级的体验好不好,所以它火不起来

但是
iphone 的当前成绩是 1000 分, lumia 的成绩 谁知道呢?

是否好于安卓都是未知,现在告诉我它的价格比 iphone 高,这是让用户去赌博么?
@longaiwp

逻辑有问题
1 ... 17  18  19  20  21  22  23  24  25  26 ... 41  
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5130 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 34ms · UTC 08:16 · PVG 16:16 · LAX 01:16 · JFK 04:16
♥ Do have faith in what you're doing.