设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: RyanBern
打印 上一主题 下一主题

[胡扯] 编程时不要学习这样的行为,听完之后感觉自己中枪无数

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4169
在线时间
258 小时
注册时间
2013-10-13
帖子
815
11
发表于 2014-11-26 12:08:42 | 只看该作者
当个小编,有前途吗?

点评

当版主是没有有前途的(无雾  发表于 2014-11-26 12:20
没当过不知道耶,不过当版主是有前途的(雾)  发表于 2014-11-26 12:14
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

12
发表于 2014-11-26 12:41:49 | 只看该作者

前四条支持,大概也没怎么犯过。

不过 Ruby 的单行 block 用又短又没有含义的变量名完全没有问题。

some_array.map! {|e| e * 2 }

点评

喜欢把嵌套循环用一行花括号的路过。。。  发表于 2014-11-28 18:06
多行 block 经常用花括号的路过  发表于 2014-11-26 12:56
单行block长度短,所以可以把这个规到第2条去,不过循环变量不在这个原则限制之内。  发表于 2014-11-26 12:44
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

13
发表于 2014-11-26 12:53:20 | 只看该作者
另外其实我非常不喜欢 RGSS 的注释风格。既没意义,输入又麻烦。为了风格一致还不得不遵守。
这个大概是我用 Ctrl+C, Ctrl+V 主要的地方。

不分 public 和 private,public 接口也没有注释清楚。真的好麻烦
果然还是喜欢 Ruby 的风格啊……

点评

……………………居然强迫自己画花边  发表于 2014-11-27 08:49
花边啥的不用 snippet 的话就只能复制粘贴了……  发表于 2014-11-26 17:18
RGSS花边注释法233,我喜欢C系语言注释风格  发表于 2014-11-26 12:55
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
50 小时
注册时间
2006-11-16
帖子
3409
14
发表于 2014-11-26 15:17:09 | 只看该作者
本帖最后由 金圭子 于 2014-11-26 15:27 编辑
总之,一句话,不要写只有自己才能看懂的代码(即使这样也是在短时间内)。


关键是这句话,看了下楼主的情况介绍,我猜你说的是大学的计算机专业课程吧?
呃,说句“过来人”的话,其实大学学的东西和RM干的东西有点差距的。

大概等你大学读完最多是工作了1、2年以后就会明白的(其实你如果多想想现在也能想通)
大学培养的是:一个作为一个中大型项目组(大概10人~50人起码)中的主要骨干,甚至是项目经理级别的人的………………基础知识。

呃,但是现实呢,等你毕业了,你能混到一个小型项目组的一份子大概都是要培养几年的,特别是你如果光会大学这批东西完全干不下去。
当然对以后学其他东西,比如如何配合骨干或者项目经理的工作的话还是有那么一点点用处的,特别你混到那种世界五百强的软件公司的话……因为很多一般的项目组其实也不讲究这个。

先不扯远了,再说RM,RM大多数情况下还是你自己从头写一个游戏写到完,而且一般也不会在3、5年以后再挖出来修改。所以说实话这套理论(核心就是让一个重头开始看程序的人能看懂)用处不大,工夫不小。所以如果你不是想写一个准备流芳百世的作品,或者是一个以后会给其他人拿来做范例的教学程序,那我觉得大可不必弄的太复杂,在关键地方写几句注释差不多也够了。
当然如果你有幸在一个团队合作,而且这个团队还有2个以上的负责写程序的家伙(一般团队能有一个剧本、一个美工和一个写程序的家伙已经是个不错的团队了,呃),那还是可以稍微讲究一点的,虽然你主要应该还是在写模块,不会互相修改对方的程序的……吧…………
最近好多想到PM的问题……不会嫌我烦了吧……
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

15
发表于 2014-11-26 17:25:20 | 只看该作者
本帖最后由 taroxd 于 2014-11-26 17:29 编辑
金圭子 发表于 2014-11-26 15:17
关键是这句话,看了下楼主的情况介绍,我猜你说的是大学的计算机专业课程吧?
呃,说句“过来人”的话, ...


有个东西叫脚本的整合……很辛苦的,真的……

另外,在 RM 脚本不可能做到每个类一个单独的文件的时候,用注释来定位还算是个不错的想法。



Also,提问区来问脚本问题的,如果没有好好缩进的话我估计不会去看脚本的……

点评

嗯,这种公开了给别人用的脚本就是我说的“或者是一个以后会给其他人拿来做范例的教学程序”  发表于 2014-11-26 20:35
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

16
 楼主| 发表于 2014-11-26 17:47:31 | 只看该作者
金圭子 发表于 2014-11-26 15:17
关键是这句话,看了下楼主的情况介绍,我猜你说的是大学的计算机专业课程吧?
呃,说句“过来人”的话, ...

您说的这些道理我也想过,一定程度上确实是这样。不过这句话并不是只出现在计算机专业课中,其实只要是写代码就应该有这种出发点。这也可以说是一直培养一种习惯吧,说不好听一点叫强迫症(雾)。至于大学学的知识在工作中的分量,这个应该和工作性质有关。如果你要当一个教授(当然是你所学专业的),那么知识的吻合度就非常高,不过,基础就是基础,虽然表面上看不出来和实际工作的联系,但是没有基础是绝对不可以的。

代码规范是写程序时的一个必要条件,特别是多人合作或者是代码公开时,当然如果你要自己用的话,只要你自己能认识,怎么写都可以。

点评

规范是个习惯,一旦养成了就不费多长时间。  发表于 2014-11-26 20:42
说到底这种“规范”的行为都很耗时间,如果肯定要耗,时间耗的越早越好(同样的事情如果在后期做就要几倍的时间),但如果后来没做就别耗。  发表于 2014-11-26 20:37
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
10
星屑
1496
在线时间
1086 小时
注册时间
2013-9-4
帖子
1313
17
发表于 2014-11-26 18:49:15 | 只看该作者
千万别说自己是搞程序的  找不到女朋友的!就说自己是搞设计的  
搞程序是很耗阳气的东西

点评

说自己是设计算法的,听起来很高大上  发表于 2014-11-26 19:13
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
117
在线时间
552 小时
注册时间
2012-8-18
帖子
1429
18
发表于 2014-11-26 18:58:08 | 只看该作者
感觉这个规范并不是那么令人可以接受呢【
1.方法的长度本应该视情况而定,如果是一个比较复杂的东西长了也是正常的。为了减少方法长度而去不停地分出子函数来,未必是件好事。毕竟,可不是所有语言都能优化inline。
2.妈呀这年头局部变量这么没人权?5行作用就不让起了?卧槽我见过很多代码都是局部变量持续使用的。
3.妈呀这坑爹规则还有人用?
4.小程度上的可以考虑,毕竟不是每个语言都有宏,也不是所有相似的代码都值得去泛化。
5.卧槽我觉得temp,val,num含义太TM明显了——这就是临时使用的局部变量。不过变量名的选取的确需要斟酌。
至于最后老师说的话,我个人觉得有点道理,但是搞程序的也应当考虑程序的效率,搞算法的也应该考虑代码结构方面的东西——比起极端化来说,能够兼顾是更好的吧。

点评

很明显你这种做法并不合适  发表于 2014-11-29 12:10
或者说,这是调用内部程序的最经常的用法【显示这个程序的处理进度】  发表于 2014-11-28 21:47
嘛嘛,有的时候我可能会做修改器或者显示某个进度的时候,会调用里面的东西。 例如 for i in 1 ... array.size 【我可能会调用i来做显示游戏的进度。】  发表于 2014-11-28 21:46
不存在“必须要用全局变量引出来”的东西,只有“用全局变量更方便并且理应如此并且不会造成其他问题”  发表于 2014-11-28 18:17
至于用过一次就扔掉的变量,还不如重复将其利用起来,除非你知道以后还会用到这里。  发表于 2014-11-28 13:10

评分

参与人数 1星屑 +60 收起 理由
RyanBern + 60 我很赞同

查看全部评分

我要填坑!我要背单词!我要学日语!我要每天锻炼!
好吧呵呵= =
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
50 小时
注册时间
2006-11-16
帖子
3409
19
发表于 2014-11-26 20:52:26 | 只看该作者
呃,好像我前面回帖的时候没看完全贴?
晚上回来才看到后面一段关于“算法”和“程序”的说法。

我以前老师好像从来没说过(我也是学计算机的),不过我自己倒是一直这么理解的(虽然不知道对不对):
计算机编程的过程分为两步:数学建模和实现(我自己起的名字,其实我们大学都没教过数学建模,学的是高数而不是应用数学)。其中“数学建模”就是把用户的需求(哪怕是你自己为了你自己写了一个程序,也是有“用户”的,就是你自己)逐步分解到最细,比如烧水就可以分解为买水壶等设备(如果有的话可省略)、打水、灌壶、劈柴、烧火、等烧开、灌在热水瓶里这几个步骤,比如一个排序算法的程序就分为两两比大小、交换(交换还可以再细化为A到tmp,B到A,tmp到B)再各种循环(这里就体现算法了)。而“实现”就是用计算机语言把每个步骤写出来。

我一直就是这么理解的,不过说实话才知道原来这是两种人去做的?(好吧我很少和人合作写东西,所以从头到尾都是我一个人包办了……)
好像我唯一一次和人合作写程序是还在大学读书的时候给一个网站写社区游戏(类似现在我们网站的口袋怪兽这种),当时我写前台实现部分(主要就是游戏创意和javascript部分),而我一起混那个论坛的一个同学写后台数据库部分(主要是php和mysql读写的部分),主要原因是当时我比较有激情有想法,但是一旦做到自己能玩了就会习惯性把它扔到了一边,而我同学就把“我能玩”变成“大家都能玩”,所以……

点评

差不多吧,我也更着重自己的东西能解决问题,而我记性还好所以差几个月看自己的代码也没问题,也很少和人合作所以对规范啥的也不是很重视。  发表于 2014-11-26 21:10
而这学期我的课程恰恰要让我学习如何“合作编程”(我不是计算机系的),所以这也算是为我对待问题的态度提供了一个新的选择吧。  发表于 2014-11-26 21:09
他们更注重他们写的东西能够为自己解决问题,而大规模的工程势必设计到合作。所以不存在谁更高一等,只是看问题角度不同而已。  发表于 2014-11-26 21:08
算法——细节;程序——整体,我们的观点是一致的。由于我身边同学都是数学专业,所以他们更喜欢学习算法,对代码规范什么的往往很不屑  发表于 2014-11-26 21:06
虽然不懂你说啥,但好利害哦~  发表于 2014-11-26 20:55
最近好多想到PM的问题……不会嫌我烦了吧……
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
9813
在线时间
4416 小时
注册时间
2005-10-22
帖子
6907

开拓者贵宾

20
发表于 2014-11-27 09:47:03 | 只看该作者
【黑幕】在GAMELOFT家的某个游戏的某的函数我们写了100多行,又因为各种需求乱改后来变成了300多行
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-10-3 23:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表