笔者大三了,昨天送妹子 Kindle 被拒绝了(就是之前那个想要社工的帖子的那个妹子),最近写作业要死了。细数一下,感觉自己学了好多好多的语言,感觉想要吐了。大一 C ,大一下 C++,分数还不错,大二重新学 C++(老师喜欢讲 STL 源码,考试时,跪了 70+),在学 C++的时候又选了 JAVA(期中一会儿写 SWING ,一会儿又转去 Servlet,JSP,期末写一个搜索引擎),并且那个学期又上了一门 Web 技术概论( JS,HTML,CSS , PHP ),然后同时学数据结构(期中并查集没写出来,跪了 70+,打击超级大。)基本上觉得啥语言都入了个门,感觉生活难受死了。寒假参加 MCM ,又稍微接触了 Matlab 。之后大二下学 MySQL (范式, ACID,也是虐死我了),计算机图形学写 OpenGL,被忘记的 C++和 C 虐得不要不要的。
在假期感觉人生艰难的时候,找了个爬虫的实习。入坑 Python ,感觉好了很多,因为总算有一个通用的解决方案了。爬虫写得很开心。对 Python 好感度超级高,并且感觉之后的作业有保证了,但是这学期图像处理学 OpenCV,感觉 Python 的 Opencv 库资料不多啊,另外一门课上 Matlab ,也不知道能不能用 Numpy + Scipy 代替,写 NLP 的 Bigram 又总是觉得模型慢得原因是语言问题。难道必须要滚回去学 C 艹了么?当年选 Java 课的原因就是因为觉得 C 艹不够通用,觉得 Java 万能,但是写个简单的文本处理都要开一个 Eclipse 。太恶心。
现在回到 Python 的问题上来,之前写 Python 的项目都非常的短,老是觉得自己代码丑死了。请问一个标准的 Python 项目应该怎么写,例如这次作业写一个 Bigram ,在给定语料的基础上,判断测试两个句子哪一个更加正确。这应该是面向对象风格,写类,还是直接写函数就行了。谢谢了
1
junnplus 2015-11-02 18:42:39 +08:00 via Android
google python 91 个建议
|
2
Marfal 2015-11-02 18:43:45 +08:00
想问一下 LZ 哪个学校的?
|
3
sagnitude 2015-11-02 18:51:01 +08:00
python 不是有个 PEP8 么
我用 pycharm 写的时候,只要照着 IDE 的代码提示改,代码风格就还行,我在 Inspection 里打开了 PEP8 检查 |
4
terry0314 2015-11-02 18:53:00 +08:00
学校开了 C++ Java C#然而我自己只学了 C++和 Python 其他都处于放任自流的状态...
|
5
sagnitude 2015-11-02 19:02:14 +08:00
大学课程的那些语言都只能是入个门、做个题,根本都算不上“学的太杂”吧。。我大学学了四年 java ,还是出来工作才真正熟悉写 java 程序的过程,打基础的时候建议你还是继续刷代码量吧,等你有好想法的时候,有代码量的基础在,能够很快很好地实现出来,我是感觉自己写的远远不够
|
8
Jackhuang OP @sagnitude 不是格式问题,我觉得是 py 写函数还是写类很纠结 。可能还是代码写太少了吧。
|
9
solaya 2015-11-02 19:30:17 +08:00
我学过 c/c++/javase/javaee/android/.net , STL 源码也看过。大三的时候发现这些不好找工作,最后去看 PHP 去了。
|
11
wizardforcel 2015-11-02 20:22:56 +08:00
公司的话,就和项目的其它代码保持风格一致。
个人项目的话就无所谓了,你自己看着顺眼就行。 |
12
niseceric 2015-11-02 20:34:24 +08:00
Matlab 用 numpy 稳稳的, 速度也稳稳的~
|
13
virusdefender 2015-11-02 20:35:34 +08:00
讲 STL 源码,期中考试就是并查集,还有 NLP 。我猜就是很牛逼的学校,果然..
--- 你这小项目的代码确实没法规范,不过建议是写类,每个类做一个相对独立的事情,可能几个类搞定了。 实在不行分模块,写几个文件。 关于写法的规范,去看 pep8 就好了 |
14
iwj 2015-11-03 00:05:58 +08:00 via Android
看了你的文字描述,我仿佛身临其境,感觉也被虐惨了,你的文字太有魔力了。回到正题,关于 Python ,我也跟你一样有困惑,比较赞同 @wizardforcel 的想法。
|
15
honmaple 2015-11-03 00:12:03 +08:00 via Android
同大三,同学了 n 多语言,同在入坑 python
|
16
Med 2015-11-03 00:58:40 +08:00
说个人项目代码风格无所谓的,扯淡吧。代码风格要慢慢培养,你要是乐意写着屎一样的代码,那也没什么好说的。 python 本来就很难重构,如果项目一开始风格就很乱,那写到后面痛苦的是自己。
|
17
qdwang 2015-11-03 01:13:18 +08:00 via Android
原来 pku 也就是教这些东西 我放心了
|
18
MCVector 2015-11-03 01:16:57 +08:00
哈哈 C++ 才是万能的
|
19
MrGba2z 2015-11-03 01:26:04 +08:00 1
公司 /客户项目: 按公司 /客户的来
个人项目及其他:我选择 pocoo 的 style pocoo 的 styleguide : http://www.pocoo.org/internal/styleguide/ 另外可以直接看他们的源码,能更直观的看到一些风格,习惯 |
20
junnplus 2015-11-03 01:27:23 +08:00 via Android
竟然是 pku ,其实对于写类还是写函数,这看使用的库和习惯,一般我都会按照使用的库的习惯写法去整理代码。
|
21
loading 2015-11-03 06:58:17 +08:00 via Android
私人代码先维持能跑级别,现在的创业项目哪个是因为代码质量好发家的?
公司代码,不是有规范呢… |
22
vietor 2015-11-03 07:53:19 +08:00 via Android
注意命名规范,其他的就靠习惯
|
23
surefire 2015-11-03 08:33:35 +08:00 1
撸主你有我学得杂吗?老子从汇编学到 C ,从 C 到 C++, C++又到 HTML/CSS/JS(前面是大学里的课程,后面是自学),然后工作中(非软件开发)又捣腾了一下 shell ,被发现有软件开发“潜质”后调入开发组,从此就开始撸代码了,从 Delphi 开始,然后又到 C#,再到 C++,再再到 SQL Server ,然后又来硬的, protel99 画电路板,画完电路板用 C 写 linux 驱动,写完驱动又是 MySQL ,后面又是 C#,再到 javascript ,然后 Python ,再然后又是 PostgreSQL ,再再然后就是 Java 、 shell 什么的,现在主要岗位是 Java 开发——虽然没写过几行代码,但因为工作需要偶尔用 C++写个小函数,或者 Python 做做页面分析,还要参与 js 框架预研,业余呢,我 Mac 了个数据库客户端——这样的结果就是,我“懂”很多,但没一个精通的,也不知道这样好不好,但也开阔了眼界。工作需要,我也只能默默接受。
|
25
Jackhuang OP @surefire 完全就是这种感觉,”懂”得多,没有精通。感伤
每次都是因为课程要接触一个东西,还没摸熟就被扔掉了。 |
26
inFinityzc 2015-11-03 09:22:08 +08:00
记得经常有《 XX Cook Book 》这种书,个人认为写代码就像是做饭,吃东西的人不在乎你用的什么工具,用的 6 不 6 ,只在乎你做的好吃不好吃。当然如果对某个工具掌握的炉火纯青,做饭的时候会得心应手,别人吃起来也会赞不绝口。
|
27
xiqingongzi 2015-11-03 09:23:14 +08:00 via Android
@surefire 牛逼,软硬一把抓
|
28
tt0411 2015-11-03 09:42:20 +08:00
楼主已经很厉害了,我本科时候学得也很乱,后来发现要想学好一门语言或技术,还是去实习或做项目最好
|
29
liqingcan 2015-11-03 13:47:39 +08:00 via Android
我也这样觉得,学校大一上 c 下 c++大二上 java 下 c#,好晕。。。
|
30
Sabermadao 2015-11-03 16:43:00 +08:00 via Android
我也学了好多!也是平时写写作业!没啥项目做也就忘了好多!话说 pku 是北大的意思么?大神
|
31
bnpysse 2015-11-03 17:01:25 +08:00
学校学的跟以后工作做项目,是两回事,基本上不用担心什么。如果真正做项目的话,你就会知道自己哪里是短板,然后再补充就可以了呀
|
32
aljun 2015-11-03 21:05:46 +08:00 via iPhone
高中 noip 搞的 c ,大一搞 web ,同时前后端一起上,比较熟的是 JavaScript 和 Python ,暑假用 django 写了个功能比较多的网站,用 flask 写了个自己的博客,同时还学习了 ruby 和 c 艹(码算法,毕竟 noip 在大学根本不够看),也觉得自己学的挺多的,但还是佩服楼主很厉害的,贴个 gayhub 多交流行么?(我是小菜) http://github.com/salamer
|
34
aljun 2015-11-03 21:12:03 +08:00 via iPhone
@Sabermadao peking university 这个英文名还算不错了,你去看北航的英文名,醉醉的
|
37
surefire 2015-11-03 22:30:07 +08:00
@xiqingongzi 永远的门外汉,半吊子都算不上,现在想来其实觉得挺亏的,其他人都专职一个方向,只有我打杂,哪里确认哪里上,最后没有一个有竞争力的神技,所以从来不敢说自己是搞软件开发的
|