打印

【求助】公司统一规定"{"必须放在行末,这很不习惯,我该怎么

[复制链接]
楼主: 肚里有史
手机看帖
扫描二维码
随时随地手机跟帖
21
computer00| | 2007-9-17 14:16 | 只看该作者 回帖奖励 |倒序浏览

用第二种. 如果不让用,对不起, 我走人。

使用特权

评论回复
22
tandake| | 2007-9-17 15:30 | 只看该作者

楼主,给你个方法自动转风格吧!

用不用vim?
按你自己的风格编好代码以后,
运行下面这行命令,就可以转成你们公司要求的风格啦!
:g/^s*{/-1j

试试看,有问题找我啊!呵呵:)

使用特权

评论回复
23
wangkj| | 2007-9-17 16:05 | 只看该作者

ls shell编程够n

使用特权

评论回复
24
winloop| | 2007-9-17 16:31 | 只看该作者

我的风格跟你公司的一样

使用特权

评论回复
25
lwtlwt| | 2007-9-17 17:31 | 只看该作者

re.

有些编辑器可以自动转换,例如codewarrior,你可以使用你喜欢的格式,交差时重新设置一下编辑器就会自动转换过来了

使用特权

评论回复
26
mr.king| | 2007-9-17 18:36 | 只看该作者

第二种好,象UE等可以折叠代码,第二种看的方便,第一种垃圾

使用特权

评论回复
27
肚里有史|  楼主 | 2007-9-17 19:08 | 只看该作者

没想到这么热闹!

其实两种书写方法,仅仅风格不同而已,C编译器都支持,不存在谁对谁错的问题。只是多年习惯很难改变了。有人说“不让用就走人”可能有些偏激了,为了此事就要开溜?我想还不至于。目前暂时的对策还是“两本帐”。

使用特权

评论回复
28
肚里有史|  楼主 | 2007-9-17 20:13 | 只看该作者

22楼tandake的方法还真不错,不过还是差一点点

vim/gvim从来没用过,刚才下载了一个。按照22楼tandake的方法,试了一下,还真不错,结果如下:

int Max(int iX, int iY) {
    if ( iX >= iY ) {
        return iX;
    }
    else {
        return iY;
    }
}

只是else还有些问题,按公司《规范》的要求应该是:

    } else {

使用特权

评论回复
29
djyos| | 2007-9-17 21:56 | 只看该作者

我用第二种

如果公司非要用第一种,我也会遵守的,我坚信“不完美的规则比没有规则强,没有规则比错误的规则强”。只是,我的代码改起来会比较痛苦,因为我喜欢用如下风格,除if以外,其他如while、for等也是这种风格
if
{//对整个程序块的注释
    //语句1的注释,与语句1同行书写会超过80字符。
    语句1;
    语句2;//语句2的注释,同行书写不超过80字符
}else
{//语句块的注释
}

使用特权

评论回复
30
tandake| | 2007-9-17 22:00 | 只看该作者

更正针对else的错误

在vim中运行命令
:g/^s*[{(else)]/-1j

就可以把第一种风格变成第二种风格了

如果这个还有问题,我会继续负责的:P

使用特权

评论回复
31
王紫豪| | 2007-9-17 22:18 | 只看该作者

re 楼上说第一种垃圾的人


下面的图片摘自 《The C programming Language》
By Brian W. Kernighan and Dennis M. Ritchie.
 
如果大家说我迷信,我不觉得我迷信 K&R有错!

使用特权

评论回复
32
tandake| | 2007-9-17 22:48 | 只看该作者

我说几句

楼主,我讲一下个人的观点。

你提到林锐那本书,我是仔细看过的,全部领会或者说全部记住可能没有做到,像指针的错误,还是会犯。关于if-else的风格,书中是推荐你习惯使用的方法。
如果我没有记错的话,同时书中也提到微软的编程规范,林锐也并不是完全赞同的。

两种风格要分哪种更好,其实是有困难的,如果完全一边倒就没有必要去争论了。你可以看到国外很多代码更偏向你们公司要求的风格--也许是我看得少了,这个印象偏离实际,但这个没有必要去争,这两种风格都是存在的。

事实上,楼主习惯这个风格,可能很大程度上受林锐的影响。包括楼上许多回贴的朋友。

试着仔细来区分这两种风格。

第一种风格,代码相对比较紧凑,不习惯时看起来会显得比较乱,特别是如果缩进做得不好的话。
第二种风格,逻辑关系更清晰,但结构相对松散。

当然用第一种风格不是为了打印的时候省点纸……如果你真的打印代码出来看的时候,可能会觉得第一种更清晰,第二种看了一点点就得翻页了,很容易把思维打断:)

但是我没有说第二种就不如第一种的意思,特别是对于习惯于用第二种风格的程序员来说,忽然看到第一种风格会觉得太乱了……

我要说的是,从公司的角度讲,它是要制定一个规范,只能采用一种风格。对两种很难分清哪种更好的风格(当然楼主你觉得第一种更好,但是肯定也有人跟你意见并不一样,对吧),它必须要选择一个。在很多时候,选择一个90%优秀的方案还是80%优秀的方案甚至60%优秀的方案并不重要,重要的是贯彻下去。就像微软也会采用在林锐看来并不是很好的风格;就像你写一段代码的时候,并不一定会采用最优的方案。

作为程序员,编程不只是秀水平的事情,特别是要做大型的项目,为了统一,需要牺牲掉一些个人的喜好。比如已经决定采用什么样的算法,把你要做的事情分给你了,就不一定非要照自己的理解,用一个特立独行的方法去重新分解任务,就算你的方法更好,对于整个项目组来说也是有害无益的,如果你在管理者的角度,也同样不会希望这样的事情发生。

一个人的智商可能可以决定他编程会学得比别人快,但是往往他的个性,他的个性中柔韧的部分才成就最终的事业。我不是在教训别人,这是我自己的教训。我总是以为自己挺聪明的,别人花很多时间去了解的东西,我看几下就会了,但是过了一段时间以后,别人都记住了,我还是要去看一下才能知道,慢慢地差距就会产生。

楼上好几位出口都冲得很,也许是因为事不关己,所以才可以这么轻易说把公司给炒了,我希望他们真的碰到这样的事情时,可以更加地灵活,更加稳重。否则不仅不会是一个好的员工,也不会是一个好的程序员。

使用特权

评论回复
33
wangkj| | 2007-9-17 22:54 | 只看该作者

资本家都要求员工好

资本家说:劳动是快乐的。
背后说:骗得就是这帮啥子。
公司需要你的时候,以公司为家;
不需要的时候两字:下岗(滚蛋)。

我真的希望建立一个公司,以公司家,老板不能是资本家。

使用特权

评论回复
34
tandake| | 2007-9-17 23:05 | 只看该作者

公司没有那么坏,员工也没有那么好

回33楼:

不管劳动是不是真的快乐,总得劳动,不如认为劳动就是快乐的吧!
员工也说自己会以公司为家,有更好的机会,真的就会“金窝银窝不如家里的狗窝”吗?

不要把事情搞得这么严重,员工为公司工作,为公司创造价值,同时也体现自己的价值,提升自己的价值,换点钞票,就是这样的一个交换。

不管是资本家,还是公仆,面对利益,都差不多。

使用特权

评论回复
35
ayb_ice| | 2007-9-18 08:01 | 只看该作者

我早就发现没有任何一种规范能适应所有情况...

只有在大部分时候保持一惯的风格即可,偶尔混用多种风格会有很好的效果,别人看你的程序,能知道你的基本风格就可以了...
变量命名也是这样...

使用特权

评论回复
36
sodwell| | 2007-9-18 08:05 | 只看该作者

哈哈

老王开公司,我报名加入!哈哈

使用特权

评论回复
37
wangkj| | 2007-9-18 08:17 | 只看该作者

开公司得有钱,俺现在穷。

如果按照这种独立运行核心版的模式发展起来,我们一起开公司也是有可能的。
这种模式的缺点就是初期不会赚钱,甚至是赔钱(没计算人工)。但是,如果
用户数量上去了,赚钱也是可能的。和用户共同发财。
这种核心板学习,使用都完全一样的。
避免了开发版的浪费(只能学习)和核心板的不确定和难度(只有作底板才能运行)

使用特权

评论回复
38
HWM| | 2007-9-18 08:40 | 只看该作者

re 33楼:

“我真的希望建立一个公司,以公司家,老板不能是资本家。”

那就是“**”啦,我们DANG的伟大理想。

使用特权

评论回复
39
computer00| | 2007-9-18 08:41 | 只看该作者

我只会选择我喜欢的事做。不喜欢的事,我能避开的则避开

如果别人试图改变你喜欢的事情,我觉得这样活着就没什么意义了,还不如离开。

每天都活在别人的规范里面,不是很失败么?当然我不会企图别人去改,而是选择我自己离开。

天下之大,我就不信没有容身之地。

使用特权

评论回复
40
hq_y| | 2007-9-18 08:47 | 只看该作者

tandake说的是公平持允之论~~~~~~~~~~~

一个人的智商可能可以决定他编程会学得比别人快,但是往往他的个性,他的个性中柔韧的部分才成就最终的事业.........

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则