当前位置:编程学习 > C#/ASP.NET >>

新手还是老手,写代码有点美感,好不好 ??????

http://topic.csdn.net/u/20090225/17/1b6d2e7e-7d5b-4808-a7cf-cf326196f50c.html
已经点到这份上了,仍然有那么多迷糊,还有星星呢。

string.ToString()
---
Request.QueryString["key"]
不做包装的话,这是一个很常见的用例
有些人一定要  Request.QueryString["key"].ToString()
如果是 null, null.ToString() 便得到一个 Exception
如果是 string, string.ToString(),你认为是什么?还是 string。 

str + obj
---
string a = "hello ";
object b = (object)"world";
string + object 在这里 , a + b 的结果是什么?
一定要 a + b.ToString()?

拼接一长串,是不是也要一大堆 .ToString()
string.Concat()是不是也把每个参数都 ToString
有些人就差写成 a.ToString() + b.ToString() 了
当然也有不可以省的特例
常见常用的,string + Request.QuertString.ToString()

bool ? true : false
---
if (flag == false) 可以原谅,也许一些人认为 !flag 容易被忽视、看错
if (flag == true) 不可原谅了
你会不会写  if ((a != b) == true) ?
还有 bool flag = compareResult ? true : false; 囧。


多地去了
抛砖引玉。  --------------------编程问答-------------------- 瞌睡, --------------------编程问答-------------------- 哗众取宠 --------------------编程问答--------------------
引用 2 楼 king19840811 的回复:
哗众取宠

我觉得以这种方式哗众取宠,总比某些人在CSDN目的为泡分强,你觉得对不?
这贴无分可泡。 --------------------编程问答-------------------- 无聊,自以为是的人!人家愿怎么写就怎么写
自己有自己的风格,你在哪里叫什么,一副是恨铁不成钢的样子,
拜托,有点时间,去看看星星
--------------------编程问答--------------------
引用 3 楼 underwater 的回复:
引用 2 楼 king19840811 的回复:
哗众取宠 
 
我觉得以这种方式哗众取宠,总比某些人在CSDN目的为泡分强,你觉得对不? 
这贴无分可泡。


不知道你所说的泡分是什么意思。。如果实在没事做可以去回答几个问题。。帮助别人也可以加强自己,让大家都能学习你优美的代码 --------------------编程问答--------------------
引用 5 楼 king19840811 的回复:
引用 3 楼 underwater 的回复:
引用 2 楼 king19840811 的回复: 
哗众取宠 

我觉得以这种方式哗众取宠,总比某些人在CSDN目的为泡分强,你觉得对不? 
这贴无分可泡。 
 

不知道你所说的泡分是什么意思。。如果实在没事做可以去回答几个问题。。帮助别人也可以加强自己,让大家都能学习你优美的代码

你这点层次,我也觉得没啥好谈的。
--------------------编程问答-------------------- 认为与 string.Empty 比较、与 "" 比较、用 .Length == 0 来比较是一种研究,是一门学问
很多人热衷于讨论和受教于此
这很好
却没有人愿意对基本的东西加以学习、了解、研究、巩固,甚至说接受
上述只是个很小部分的例子
可想而知

大多数软件一派败絮其中,就拜类似楼上某些人所赐
只懂得吹牛,懂得什么什么框架,精通什么什么东西,对基本知识一概不知自己不知道反省
却认为别人是在卖弄、嘲笑和讽刺

学会.NET、用.NET写出所谓的软件只需要短短的时间
懂得如何实现功能,没有任何好高兴的
只懂吹嘘什么什么设计模式,精通什么什么框架
对基本知识一概不知的草包,也可以混上管理者的位置
程序员还有这种潜规则,悲剧阿

很多人很反感是吧,被戳着脊梁骨说到短处是很痛苦的

--------------------编程问答-------------------- 唉 --------------------编程问答-------------------- 回帖是一种美德 --------------------编程问答-------------------- 呵呵,楼主激动了点,消消气,喝口茶,慢慢讲。 --------------------编程问答-------------------- 1 楼主看法有些偏激
2 分数是回答问题来的,因此有了星星并不代表该人水平高,没星星并不代表该人水平就差。
3 我本身水平也不高,说实在话也不知道楼主那个标题要表达什么意思。
4 csdn是个论坛,其用户水平良莠不齐,有的能看出有的看不出,没什么大不了。 --------------------编程问答--------------------
引用楼主 underwater 的帖子:
bool ? true : false 
--- 
if (flag == false) 可以原谅,也许一些人认为 !flag 容易被忽视、看错 
if (flag == true) 不可原谅了 
你会不会写  if ((a != b) == true) ? 
还有 bool flag = compareResult ? true : false; 囧。


看一些世界知名的大师的代码,虽然肯定不会写“if ((a != b) == true)”,但是写“if (flag == true)”确实经常出现的。实际上,写那个的人可能习惯于在逻辑判断中如果涉及变量就一定要有比较运算符号,这是可以理解的。 --------------------编程问答--------------------
引用 7 楼 underwater 的回复:
认为与 string.Empty 比较、与 "" 比较、用 .Length == 0 来比较是一种研究,是一门学问
很多人热衷于讨论和受教于此
这很好
却没有人愿意对基本的东西加以学习、了解、研究、巩固,甚至说接受
上述只是个很小部分的例子
可想而知

大多数软件一派败絮其中,就拜类似楼上某些人所赐
只懂得吹牛,懂得什么什么框架,精通什么什么东西,对基本知识一概不知自己不知道反省

对基本知识一概不知的草包,也可以混上管理者的位置


估计楼主在受压抑, 发泄一下也好

上面重点部分, 加上盲目决策和判断, 横加干预的
我也想骂
X它娘的
--------------------编程问答--------------------
引用 4 楼 flying_net 的回复:
无聊,自以为是的人!人家愿怎么写就怎么写
自己有自己的风格,你在哪里叫什么,一副是恨铁不成钢的样子,
拜托,有点时间,去看看星星


有些东西要如果不遵章守法就不叫风格了
叫错误! --------------------编程问答--------------------
引用 12 楼 sp1234 的回复:
引用楼主 underwater 的帖子:
bool ? true : false
---
if (flag == false) 可以原谅,也许一些人认为 !flag 容易被忽视、看错
if (flag == true) 不可原谅了
你会不会写  if ((a != b) == true) ?
还有 bool flag = compareResult ? true : false; 囧。

看一些世界知名的大师的代码,虽然肯定不会写“if ((a != b) == true)”,但是写“if (flag == true)”确实经常出现的。实际上,写那个的人可能习惯于在逻辑判断中…


赞同 --------------------编程问答-------------------- 星星多只能说别人比较热心于帮助别人解决问题

楼主就因为某些程序员喜欢画蛇添足的加个 tostring(),就做出一副高高在上的样子,何必呢

其实我觉得这个问题很好解释啊,因为有时候我们编程的时候常会出现无法隐式的将什么类型转为string,所以当出现这类的时候就多写个toString()就好了
TextBox1.Text = DateTime.Now;就像这样吧

TextBox1.Text += DateTime.Now;
如果我想写成这样,岂不是又要被楼主所鄙视,从而从一个小小的ToString(),谈到我的程序人生了......
TextBox1.Text += DateTime.Now.ToString();

说实话,如果让我选择是懂得设计模式好些,还是在多加了个ToString 问题上纠缠,我希望是前者
--------------------编程问答-------------------- 学习设计模式很好,更好的是懂得在恰当的时机选择恰当的模式 --------------------编程问答-------------------- 同意楼主意见,好的习惯要从小事儿做起,
代码也是从细微处见功底 --------------------编程问答-------------------- 还有这样写的

public DataSet Somemethod(){
DataSet ds = AnotherMethod();
if(ds != null) return ds;
return null;
}

无语 --------------------编程问答-------------------- 楼主发的是讨论帖,目的是搞活气氛,大家要踊跃参与啊! --------------------编程问答--------------------
引用 19 楼 kkun_3yue3 的回复:
还有这样写的

public DataSet Somemethod(){
DataSet ds = AnotherMethod();
if(ds != null) return ds;
return null;
}

无语


鼓励一下 --------------------编程问答-------------------- LZ的说法是对的,但是不同意“if (flag == true)”不可原谅的说法,我觉得这么写挺好,符合自然语义。
“你会不会写  if ((a != b) == true) ?”,我不会这么写,因为这么写不符合自然语义。 --------------------编程问答-------------------- 在看別人寫的代碼看多了以后,感覺代碼還是寫的簡單點好 ,很多語法可能你自己寫的時候覺得很好,但給別人維護時人家可能要費很多神。。。。
--------------------编程问答-------------------- 美感??

听听 郭德纲的名言“天底下就王八是真滴,还叫‘假’鱼”

你认为甲鱼就是美,王八就不美??忒假了点



--------------------编程问答-------------------- 不知道你明不明白啥叫,断言编程?

世界级别的程序员的代码,都严格遵照断言编程滴。而断言编程的很多前提条件在你这种偏激言论下,全是多余滴! --------------------编程问答--------------------
引用 20 楼 zjq0034 的回复:
楼主发的是讨论帖,目的是搞活气氛,大家要踊跃参与啊!


NOD
 
有些人被点到酸痛处,狗急跳墙了。
我都说了,抛砖引玉,何止这些。 --------------------编程问答-------------------- 顶楼主,看了以后不会犯同样错误 --------------------编程问答-------------------- 有些人从来没有严格要求过自己要成为一个合格的程序员,他们或许只是在等着熬到攀爬管理职位可以吆喝别人写代码的那一天。
楼顶的内容本可以是很好的讨论材料,促使大家学习进步的东西。
却不知道碍到那么多人蛋疼了,还有人坚持说写垃圾和累赘代码是自己的风格。
囧阿囧。 --------------------编程问答-------------------- 每个人的风格不一样,也许有时候是走了弯路,但至少没有错就不必要计较 --------------------编程问答-------------------- 竟然在这里又开了一帖,我已表过态,此贴我不再啰嗦,占个地儿看看大家的反应 --------------------编程问答--------------------
引用 30 楼 ojlovecd 的回复:
竟然在这里又开了一帖,我已表过态,此贴我不再啰嗦,占个地儿看看大家的反应


-___-!

我回答问题经常不100%答案的,留点思考余地。可有人认为原帖实在戏弄别人,你觉得是吗? --------------------编程问答-------------------- 也不打算争啥,给你一段devExpress公司代码,自己看看这些世界级的程序员是怎么写防御性代码滴

   [DefaultValue(string.Empty)]
    public string Name
    {
        get
        {
            object name = ViewState["Name"];
            if (name != null)
                return (string)name;
            else
                return string.Empty;
        }
        set
        {
            ViewState["Name"] = value;
        }
    }

如果按lz意思,这段代码无疑是垃圾来着,而且还是“世界级的垃圾” --------------------编程问答--------------------
引用 31 楼 underwater 的回复:
引用 30 楼 ojlovecd 的回复:
竟然在这里又开了一帖,我已表过态,此贴我不再啰嗦,占个地儿看看大家的反应


-___-!

我回答问题经常不100%答案的,留点思考余地。可有人认为原帖实在戏弄别人,你觉得是吗?

呵呵,我跟你正好相反,我每次回答基本上都会回答完全,甚至有时候把代码都帮人写全了,我这么做的目的是让自己能够经常保持对程序的分析及编写的能力,至于这种做法能不能对对方有所帮助我从来不关心,因为都是成年人了,很应该能对自己能力的提高有个充分的认识,只求答案不求能力提高是否对自己有帮助应该是他自己去想的问题。

原帖戏弄别人这种说法我不太赞同,至少我看来你没有戏弄别人的意思,只是说明了一个现在普遍存在的现象罢了 --------------------编程问答--------------------
引用 32 楼 wanghui0380 的回复:
也不打算争啥,给你一段devExpress公司代码,自己看看这些世界级的程序员是怎么写防御性代码滴

[DefaultValue(string.Empty)]
public string Name
{
get
{
object name = ViewState["Name"];
if (name != null)
return (string)name;
else
return string.Empty;
}
set
{
ViewState["Name"] = value;
}
}

如果按lz意思,这段代码无疑是垃圾来着,而且还是“世界级的垃圾”

呵呵,这段代码如果让我来写,我就会这么写:

[DefaultValue(string.Empty)]
public string Name
{
    get
    {
        return ViewState["Name"] == null ? string.Empty : ViewState["Name"].ToString();
    }
    set
    {
        ViewState["Name"] = value;
    }
}

看来我是永远也不会成为世界级的程序员了 :) --------------------编程问答--------------------
引用 32 楼 wanghui0380 的回复:
也不打算争啥,给你一段devExpress公司代码,自己看看这些世界级的程序员是怎么写防御性代码滴 

  [DefaultValue(string.Empty)] 
    public string Name 
    { 
        get 
        { 
            object name = ViewState["Name"]; 
            if (name != null) 
                return (string)name; 
            else 
                return string.Empty; 
        } 
        set 
        { 

你跟我讲讲,怎么垃圾来者?
ViewState["Name"] 是  object 还是 string, 回去学习。 --------------------编程问答-------------------- 哎,看来楼主是新手 --------------------编程问答-------------------- 呵呵,既然都说是美感了。当然个人标准不一样了。 --------------------编程问答-------------------- ViewState["Name"] == null ? string.Empty : ViewState["Name"].ToString();

这样写的话,大部分情况对 ViewState 进行了两次索引。
你得改改。
大师的代码很好,楼上某位属于找茬的。 --------------------编程问答--------------------
引用 38 楼 underwater 的回复:
ViewState["Name"] == null ? string.Empty : ViewState["Name"].ToString();

这样写的话,大部分情况对 ViewState 进行了两次索引。
你得改改。
大师的代码很好,楼上某位属于找茬的。

有理,这也是我经常犯的错误,一味追求代码的简洁 --------------------编程问答-------------------- 楼主别激动,我纯粹请教。
请教楼主:
object name = ViewState["Name"]; 
if (name != null) 
return (string)name; 
else 
return string.Empty; 


object name = ViewState["Name"]; 
return name.tostring();

有什么区别?是不是可以写成下面那种形式呢? --------------------编程问答-------------------- 有谁做过这个最简单效率测试
return "" 和 return string.Empty
相同?前者好?后者好?
想知道答案的自己做测试

我如果在楼顶倡导如此更苛刻的东西,岂不在要楼上某些人的命的?

世界级的代码,呵呵,又怎么了?


反编译微软的代码这个方法,  string.IsNullOrEmpty
public static bool IsNullOrEmpty(string value)
{
    if (value != null)
    {
        return (value.Length == 0);
    }
    return true;
}


我曾经对它改写,加入了自己的类, Strings.IsNullOrEmpty
public static bool IsNullOrEmpty(string value) {
    return (value == null || value.Length == 0);
}

效率如何呢?比微软的代码快。
有兴趣的同学自己实践。

最终我发布dll时,还是妥协删除了这个方法,性能牺牲和代码语义作选择。

......

以前我做这些学习研究的时候,楼上某些人不知道还在干吗。
说好听点,我把经验共享给大家听,说难听点,我想我有资格来发这个贴子。 --------------------编程问答-------------------- object name = ViewState["Name"]; 
return name.tostring(); 

有什么区别?是不是可以写成下面那种形式呢?

-----------

object name = ViewState["Name"]; 
从片断来讲,不知道 name 是否是 string

object.ToString(),会遵循次序,如果可以被格式化成字符串,那就是得到一个字符串值
否则,默认情况返回这个object类型的全名,但这个方法是允许override的

即时一个已知为string的object,通过.ToString()比(string)obj拆箱也要消耗更多性能。 --------------------编程问答-------------------- object name = ViewState["Name"]; 
return name.tostring(); 

有什么区别?是不是可以写成下面那种形式呢? 

----------- 

而且 如果 object name 是  null
null.ToString() 则是异常。

Object reference not set to an instance of an object --------------------编程问答-------------------- 惨了,我一直以为object不管为不为null都可以tostring()了!
汗啊!谢谢楼主啦。 --------------------编程问答-------------------- 我觉得楼主讲得很有道理,我也经常对周边的人说:"编程真的是一门艺术",可惜的是,我还没有楼主的功力,否则,我也会向楼主一样,尽力去感化一些人(有药可救的).

所谓习惯,所谓风格,哎,自封而已,每个程序员(大家都是做这个的),心里都应该明白,自己到达一个什么样的程度,都会觉得自己写的东西是很好地,可是当自己晋升到更高层次的时候,回头看来,当初的完美,已经不屑一顾了.

说到这个程度,我相信我在这里如果说,楼主,你的代码也不是最好,最幽雅的,我相信楼主也是可以虚心接受的(当然了,如果我可以挑的到毛病的话.).
同理,其他人在看到楼主指出的弊病的时候,态度各异.这其实也就是我刚才提到的(有药可救的)和(无药可救的)的区别了.

大家都冷静下来,细细想想.CSDN其实是一个不错的平台,让大家可以自由交流,只有交流,互通有无,才有进步.
楼主提出了很好的观点,我很支持. --------------------编程问答--------------------
引用 41 楼 underwater 的回复:
...
以前我做这些学习研究的时候,楼上某些人不知道还在干吗。
说好听点,我把经验共享给大家听,说难听点,我想我有资格来发这个贴子。
...


现在踏实钻研的少了,
可以说根本不在一个起跑线上,
甚至你在说什么他们也听不懂,
跟几个同事也讨论过这个问题, 现在的人太浮躁了.

有意见就呼出来. --------------------编程问答-------------------- 快下班的时候回了下贴,回到家发现又被顶起来了,我觉得楼主想法是好的,但这种说法的语气还有待商确的
你不能要求所有刚学编程的就去追求代码的性能啊,我觉得这样只是去钻牛角尖
对于我来说没编过使用过人数上百,数据达到海量级的系统,所以也不会去考虑例如拼凑字符串的时候用StringBuilder能节约多少性能,分页用存储过程等这类问题

我觉得等楼主那天分数达到专家级的时候,写篇博客批斗下那些有星星的,还在犯String.ToString()这种错误,并指点下一个程序员从大学毕业到35岁的路程吧 --------------------编程问答--------------------
引用 44 楼 wonture 的回复:
惨了,我一直以为object不管为不为null都可以tostring()了! 
汗啊!谢谢楼主啦。

Convert.ToString(obj)
如果是 null,便返回 string.Empty

但不要惯性以为 Convert.ToInt32(null) == 0
这个是 Exception
我曾经这么以为过,呵呵 --------------------编程问答--------------------
引用 47 楼 lonelySurvive 的回复:
快下班的时候回了下贴,回到家发现又被顶起来了,我觉得楼主想法是好的,但这种说法的语气还有待商确的 
你不能要求所有刚学编程的就去追求代码的性能啊,我觉得这样只是去钻牛角尖 
对于我来说没编过使用过人数上百,数据达到海量级的系统,所以也不会去考虑例如拼凑字符串的时候用StringBuilder能节约多少性能,分页用存储过程等这类问题 

我觉得等楼主那天分数达到专家级的时候,写篇博客批斗下那些有星星的,还在犯Stri…

顶. --------------------编程问答-------------------- 美感来源于巧妙的逻辑组织,我这样认为 --------------------编程问答-------------------- 顶楼主 --------------------编程问答-------------------- 我支持楼主! --------------------编程问答-------------------- 为什么有人要指责别人泡分?即使是泡,有何不可?
帮助别人提高自己。我正是泡分来的,而且技术分是泡出来的吗?
虽然我现在不是高手,但我决心以泡分的手段,以练成高手为目的,誓将泡分进行到底。 --------------------编程问答-------------------- ^__^ --------------------编程问答-------------------- 还有这样的

Text='<%# Eval("FirstName").ToString() %>' --------------------编程问答--------------------
引用 3 楼 underwater 的回复:
引用 2 楼 king19840811 的回复:
哗众取宠 
 
我觉得以这种方式哗众取宠,总比某些人在CSDN目的为泡分强,你觉得对不? 
这贴无分可泡。

我最BS这种人 说别人泡分 有本事你也泡个  
帮助别人 到达学习目的 一举两得 没事少喷点 --------------------编程问答-------------------- LZ
别人就用了这句
MyFlag.ToUpper() = "TRUE"? true : false
~~~~~~~~
MyFlag 是页面传递过来的参数
别人说是为了防止黑客 恶意传值过来 所以来了这句MyFlag.ToUpper() = "TRUE"? true : false
--------------------编程问答-------------------- 楼上的根本就没有读懂,别喷了。 --------------------编程问答--------------------
引用 47 楼 lonelySurvive 的回复:
快下班的时候回了下贴,回到家发现又被顶起来了,我觉得楼主想法是好的,但这种说法的语气还有待商确的 
...
我觉得等楼主那天分数达到专家级的时候,写篇博客批斗下那些有星星的,还在犯String.ToString()这种错误,并指点下一个程序员从大学毕业到35岁的路程吧

言下之意就是CSDN的星星很有说服力,别人无法接受一个裤衩在这里指指点点?
呵呵。

一些人大概认为 CSDN 就该个初级 FAQ 基地了。

http://www.51js.com/
一个没落的脚本技术论坛

许多年前,那里气氛和谐,高人倍出,常有深藏不漏者突然语出惊人。
可是,逐渐败落在初级 FAQ 上。
老鸟不再认为那是个学习钻研的讨论场所,逐个慢慢地离去。

51JS 是“民间组织”缺乏经营管理,CSDN 经营得算是好的我承认。
但是,说难听点,有点在吃老本了。 --------------------编程问答-------------------- 顶吧 --------------------编程问答-------------------- 呵呵,lz意思十分明白。lz美学都是建立在上下文基础上滴

实际上,就是日本围棋界滴术语“不断樱”,棋不在筋和形上不下,棋形不好不下

问题是俗手也有俗手的好处,场合性的手段也要看场合 --------------------编程问答-------------------- 看着这些讨论,我感觉我这个新手真是没得混了,一个自学编程的娃,能用代码实现想像中的功能就已经不错了,哪里还管得了代码的美感和性能!唉!看来我还急需充电啊…… --------------------编程问答--------------------
引用 61 楼 wanghui0380 的回复:
呵呵,lz意思十分明白。lz美学都是建立在上下文基础上滴 

实际上,就是日本围棋界滴术语“不断樱”,棋不在筋和形上不下,棋形不好不下 

问题是俗手也有俗手的好处,场合性的手段也要看场合

首先你理解偏了。

代码剥一行出来看,有意思吗?
片断代码,已经构成上下文了。
写代码绝对不是拼凑、完成功能那么简单,尤其是大篇幅、大项目。达到什么境界,只有不断研究和学习来慢慢进步。

回到一个很老的话题,关于匈牙利命名法。
这对你的“不断樱”思想很有帮助,但为什么现在已经不被主流采纳,你是否可以回答一下。
你这种和谐的交流,我是非常愿意接受的。

我不知道为什么那么多人以为我有什么什么样的口气,难道你一定要别人给你装孙子说话?
你有超越别人的长处,你就有权出来指点。
别像《李小龙传奇》里说的那样,过度的虚伪。 --------------------编程问答--------------------
引用 62 楼 youlinglong 的回复:
看着这些讨论,我感觉我这个新手真是没得混了,一个自学编程的娃,能用代码实现想像中的功能就已经不错了,哪里还管得了代码的美感和性能!唉!看来我还急需充电啊……

那么多人针对一个标题吗?
有心人可以从简简单单的例子里学到很多东西,如果你之前还没注意到那些的话。 --------------------编程问答-------------------- 这个帖子:《C#编码好习惯,献给所有热爱c#的同志》
http://topic.csdn.net/u/20090221/12/38ad4d4c-69db-421e-9b52-6c32d67f0e80.html


和本贴本质目的有区别吗?

那么多浮躁的人习惯追捧瞎扯蛋,顶,up,mark甚至还有接分,不知道真正看了多少,吸收了多少。
--------------------编程问答-------------------- 更何况 http://topic.csdn.net/u/20090221/12/38ad4d4c-69db-421e-9b52-6c32d67f0e80.html 很多很多误导人的无稽之谈。 --------------------编程问答-------------------- 有一本书叫 《.NET 设计规范》

Krzysztof Cwalina, Brad Abrams 著
他们是什么人你可以去查查

对于楼上大部分对我不满的人,就不说框架设计师了,别说技术,意识都没达到,呵呵
想成为一个优秀者,这是一本万分值得推荐阅读的书
--------------------编程问答-------------------- LZ 是不是这本书
<<NET设计规范:.NET约定、惯用法与模式(PDF中文版)>>
既然介绍了 我就去下个
哈哈
地址 喜欢的朋友来下吧
http://www.51leifeng.net/viewthread.php?tid=19320&highlight=.NET%2B%E8%AE%BE%E8%AE%A1%E8%A7%84%E8%8C%83 --------------------编程问答-------------------- 严格对待自己,宽松对待别人。 --------------------编程问答-------------------- 我们之所以喜欢这个行业,
就是因为这个行业不用需要太多的钱财来发掘自己的潜力,
不用厂房车间, 不用实体化的原材料,
只有有台机器就够了, 就怕没有什么好的想法,
不怕做不到, 就怕想不到...

沉醉于那种思想火花迸发的时刻的确是很幸福的一件事情,
精益求精, 永不满足, 可能是楼主的追求,
这个追求有错吗? 看来在这个物欲横流的时代是这样的.

如果有可以在这一个层次上交流的朋友更是人生幸事,
估计楼主也是这样, 但是上头的好多人体会不到这一点,
呜呼悲哉!

程序不过是对现实生活和社会的模拟.
基本道是相同的, 可惜很多人的想法未及这个层面就拥有的决策权.
--------------------编程问答-------------------- 很多想程序员的习惯罢了,但是从习惯中可以看出程序员是个大师还是个小弟
假如你是个大师那肯定会觉得小弟写的代码很垃圾,我也有同感,虽然自己不是大师,但是对于代码还是
很有研究的,呵呵

如:
if(a==1)
{
   return true;
}
else
{
   return false;
}
看了这样的代码就郁闷,但是这也是一般逻辑啊,所以你是个小弟就是写成上面一样的
你是大师就会这样写
return a==1;
    --------------------编程问答--------------------
引用 71 楼 liubiaocai 的回复:
很多想程序员的习惯罢了,但是从习惯中可以看出程序员是个大师还是个小弟 
假如你是个大师那肯定会觉得小弟写的代码很垃圾,我也有同感,虽然自己不是大师,但是对于代码还是 
很有研究的,呵呵 

如: 
if(a==1) 

  return true; 

else 

  return false; 

看了这样的代码就郁闷,但是这也是一般逻辑啊,所以你是个小弟就是写成上面一样的 
你是大师就会这样写 
return a==1; 
  

不是大师,也离大师不远了,呵呵。
你这样的回复,才是我此帖最真实的目的。

我希望能有人能列出更多更多的例子,也就是顶帖的最后几个字,抛砖引玉。

“严于律己,宽以待人”
如果对我有这种想法,希望闭嘴,试问你了解我么? --------------------编程问答-------------------- 完全不明白这个帖子是什么意思。

--------------------编程问答--------------------
引用 64 楼 underwater 的回复:
引用 62 楼 youlinglong 的回复:
看着这些讨论,我感觉我这个新手真是没得混了,一个自学编程的娃,能用代码实现想像中的功能就已经不错了,哪里还管得了代码的美感和性能!唉!看来我还急需充电啊…… 
 
那么多人针对一个标题吗? 
有心人可以从简简单单的例子里学到很多东西,如果你之前还没注意到那些的话。

受益匪浅啊!以后一定注意…… --------------------编程问答-------------------- 回帖是一种美德 --------------------编程问答--------------------
引用 32 楼 wanghui0380 的回复:
也不打算争啥,给你一段devExpress公司代码,自己看看这些世界级的程序员是怎么写防御性代码滴

[DefaultValue(string.Empty)]
public string Name
{
get
{
object name = ViewState["Name"];
if (name != null)
return (string)name;
else
return string.Empty;
}
set
{
ViewState["Name"] = value;
}
}

如果按lz意思,这段代码无疑是垃圾来着,而且还是“世界级的垃圾”


按楼主的意思,这恰恰是一段很好的代码
即完成了功能又美观大方,而且非常容易读懂(相对于使用3元运算符) --------------------编程问答-------------------- 楼上的,可不是。


针对这个代码,我会这么写

object name = ViewState["Name"]; 
return name == null ? string.Empty : (string)name;



object name = ViewState["name"];
if (name == null) {
    return string.Empty;
}
return (string)name;
肯定不会带else

更细节点的
有人喜欢把为 null 判断在前
if (name == null) {
    return string.Empty;
}
return (string)name;

有人习惯把默认值放置最后
if (name != null) {
    return (string)name;
}
return string.Empty;

不要认为我是疯子,在多判断条件、多分支的的时候,这个小小的区别对分支流的理解可以有很大作用。 --------------------编程问答-------------------- 差开讲一句, return "" 比 return string.Empty 快,但放大数千倍才有差距
但我觉得很多地方 string.Empty 比 "" 美观

在底层频繁调用的方法中,还是尽量用 ""
其他自己取决 --------------------编程问答-------------------- 一声叹息 --------------------编程问答--------------------
引用 11 楼 jimu8130 的回复:
1 楼主看法有些偏激 
2 分数是回答问题来的,因此有了星星并不代表该人水平高,没星星并不代表该人水平就差。 
3 我本身水平也不高,说实在话也不知道楼主那个标题要表达什么意思。 
4 csdn是个论坛,其用户水平良莠不齐,有的能看出有的看不出,没什么大不了。


不錯啊

有的人只是進去看看
從來不回的啊

也有的只發不收的  種種都 是有的啊
--------------------编程问答-------------------- 楼主有些编程习惯和我有点像,比如卫语句的使用还有大括号的格式。其实很多程序员都是有自己的编码风格的,形成自己的风格是很重要,但是也没有必要苛求别人的风格非要和自己的保持一致。而且很多牛人的代码风格是很不好的,所以说代码风格只是一个美学上的东西。
另外对于
public static bool IsNullOrEmpty(string value) { 
    return (value == null || value.Length == 0); 

这个问题。我也喜欢这么写。但是这又两个问题。第一个是不直观的问题。另一个是这段代码有个隐含的要求就是value == null为真后不会再去执行value.Length == 0,否则可能会发生空引用异常。而这个是和编译器实现有关的,呵呵。当然现代的编译器都会短路求值的。 --------------------编程问答--------------------
引用 81 楼 fskang 的回复:
但是这又两个问题。第一个是不直观的问题。另一个是这段代码有个隐含的要求就是value == null为真后不会再去执行value.Length == 0,否则可能会发生空引用异常。而这个是和编译器实现有关的,呵呵。当然现代的编译器都会短路求值的。


有这样的存在吗?如果我,恕我孤陋寡闻,诚恳请教。
在这之前,我相信没有。
分清 | 与 || 的意思。 --------------------编程问答--------------------
引用 82 楼 underwater 的回复:
引用 81 楼 fskang 的回复:
但是这又两个问题。第一个是不直观的问题。另一个是这段代码有个隐含的要求就是value == null为真后不会再去执行value.Length == 0,否则可能会发生空引用异常。而这个是和编译器实现有关的,呵呵。当然现代的编译器都会短路求值的。 

有这样的存在吗?如果我,恕我孤陋寡闻,诚恳请教。 
在这之前,我相信没有。 
分清 | 与 || 的意思。


恩 这个确实和编译器有关的 --------------------编程问答-------------------- 看了帖子,受教很多。 --------------------编程问答-------------------- …………这些不容易发生吧,看完我们的代码规约地球人都会吐血的 --------------------编程问答-------------------- ViewState的那个我可能这样写

return ViewState["name"] as string;

有的人很喜欢用正则
就连判断一个整数或者日期的范围也要写正则

楼主说的那个IsNullOrEmpty,我觉得最后确实应该删掉的
在这个方法上,提高的那微乎其微的效率就显的没有语义或者说可读性重要

在写代码的时候,美观、效率这个东西都要看场合的
我觉得两者能完美的结合应该是比较好的代码

我这个人比较懒,只要是MS包装好的东西
除非是实现不了我的要求的
或者说效率实在差的一塌糊涂的(这个基本上好像没有^-^)
否则我是不会重写的 --------------------编程问答-------------------- 另外关于“短路”的问题,楼主可以看看
http://support.microsoft.com/kb/817250/zh-cn --------------------编程问答-------------------- 不要激动,是交流就应该和谐,一争高下不是目的,为我所用才是关键。干嘛一个个脸红脖子粗的。。

--------------------编程问答-------------------- 哈。好像学到点 --------------------编程问答--------------------
引用 72 楼 underwater 的回复:
不是大师,也离大师不远了,呵呵。 
你这样的回复,才是我此帖最真实的目的。 

可以说在技术上你可能是一个专家,离大师还有很长的路
大师不仅仅是体现在技术
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,