https://github.com/daishuge/qqgpt_basic/blob/main/chat.py
想知道我的代码规范和程序实现怎么样?谢谢各位
1
jimliang 137 天前 20
工作以后发现,代码写得再好也没用,以下可以是要考虑的点:
1 ,文档。给人看或者给自己看 2 ,代码测试覆盖率。保证输入输出的正确性,但代码修改时不造成其他问题 3 ,各种边界考虑,异常数据输入、内存不足的表现、I/O 错误处理、大数据量的性能问题 4 ,技术选型。开源工具开源框架的优缺点对比 |
2
haimianbihdata 137 天前 via Android 1
准高一。你这一点就领导不少了,至少会 git push ,哥们在读大学的时候,大一大二蛮多人 git 都不知道是个啥。
|
3
wxw752 137 天前 7
|
4
PingAn66 137 天前 via Android
挺好的,学业别拉下争取考个 985
|
5
artiga033 137 天前 via Android
阅屎山无数之后我觉得这是让我看着比较舒服的。不过单文件考验不了什么工程能力就是了。
@haimianbihdata 看到你这我还想说甚至 commit 还是 sign 过的,然后发现好像是 github 网页编辑导致的 sign |
6
PingAn66 137 天前 via Android
加油
|
7
Anarchy 137 天前
Openapi key 传 github 了,主要保护自己隐私。
|
8
foolishcrab 137 天前 via iPhone
写的挺好的,英语水平也不错,继续努力吧
|
10
iOCZS 137 天前
好好学习,考个名校,将来给有钱人家的孩子一对一辅导。
|
11
zuosiruan 137 天前
考个 985 比什么都重要
|
12
Cyron 137 天前
挺牛的,会调 OpenAI 接口说明看文档的能力足够,prompt 工程也懂,代码格式整洁,已经超越太多人了
虽然注释多了点,但要看是写给谁看的,作为学习笔记来讲没有问题,实际工作中只需要标注方法/接口就足够了 |
13
karatsuba 137 天前
高中讲究什么规范,能实现就行,
|
14
huangyezhufeng 137 天前
https://datahonor.com/mppt/
搞清楚这些,基本可以到达社区标准的水平了 |
15
billzhuang 137 天前 via iPhone 1
英文注释,英文 README 。
|
16
collery 137 天前
@haimianbihdata 我们大三的时候用 svn 冲突不会解决,然后就复制代码文件,然后一个人合并
|
17
McZoden 137 天前 1
单纯说代码规范,以 PEP 8 举例:
一些空格的处理、空行的处理,import 的顺序还需要微调 可以结合 PyCharm 或者 VSCode 的 lint 插件,例如 pylance 、pylint 等,继续微调 |
18
IwfWcf 137 天前
你可以直接拿去让 AI 给你做 Code Review 啊……
|
19
8355 137 天前
注释过多了,python 代码可读性已经很好了,可以适当删减。
|
20
9136347 137 天前
不要注释,如果你有什么独特的思想,自己找个笔记单独记录就行。
|
21
winterbells 137 天前
@collery 我上家组长就是这么合并 git 的,一开始让我提交一个 commit 我还以为是为了 commit 整洁,所以最后都 squash 一下。后来才发现她是对照着 commit 修改 master 分支
|
22
simpleman 137 天前
干净整洁的代码, 看着很舒服.
|
23
juzisang 137 天前
注释多到有碍阅读了,没必要每行一个注释...
|
24
duck2u 137 天前
考个 589 ,学个机算计。
|
26
yph007595 137 天前
@haimianbihdata #2 我大学还做过用 3.5 寸软盘去机房拷贝 office 快捷方式的事情。。。
|
27
KongLiu 137 天前
if img_type:
return True # 是有效的图片 URL else: return False # 不是图片文件 为什么不直接 return img_type |
28
daishuge OP @haimianbihdata 哈哈,只是在 github 网页上新建了个文件把代码放进去展示啦
|
30
daishuge OP @artiga033 https://github.com/daishuge/debug_gpt 本人的一个比较差劲的多文件项目,不过一年前写的水平也差点
|
36
wayneshen 137 天前 1
api key 不要上传
|
37
EmbraceQWQ 137 天前 1
有兴趣折腾是好事,不过代码来说还是有细节待优化,你都会用 GPT 了,让它给你优化一下代码。加油,希望你坚持下去,千万不要被学业或者未来的坎坷给弄丢了。码农确实是自嘲,但是每个敲代码的其实都是个工程师。
|
38
vsitebon 137 天前 1
愿意折腾就行,学业为重,编程暂时作为兴趣更好。除非要打竞赛
|
39
lxqxqxq 137 天前
@haimianbihdata #2 最近入职的 211 大三实习生,我在跟他在讲 git, 他跟我扯 github
|
40
ukpkmk 137 天前 1
非要给你挑刺的话, 注释我感觉最好是写在对应代码的上一行,而不是行尾
|
44
ukpkmk 136 天前 1
@daishuge 哈哈 不全是, 在 idea 里会有一条竖线,如果想让代码可阅读性如果比较好的话, 不建议单行代码长度超过这条线, 如果代码已经够长了, 再加上注释,有可能会被挤到外面,会让读代码人看不到你写的注释.
![20240812-160813.jpeg]( https://pic.imge.cc/2024/08/12/66b9c3d2805b2.jpeg) |
46
imnpc 136 天前 1
作为多年程序员看来 OP 写的代码很规范 注释也比较多 对于积累经验很重要
多学多练 不要觉得自己是新人就觉得自己不行 很多科班毕业的写的代码都不一定比你好 写代码一方面锻炼自己的逻辑思维能力 一方面去强化自己英语单词的词汇量和使用率 中文/英文注释 后面建议都一起练习下 最重要的是 写代码有很好的成就感 看着自己写完的代码 编译运行以后得成果 很有成就感 建议呢 从简单的开始 慢慢练习 一般走的练习路线 个人博客 留言板 小商城 |
47
monkeyk 136 天前 2
我的先关注起你,等以后毕业了来我们公司;有潜力
|
48
crac 136 天前
@daishugedef
fake_api(query, max, tem): openai.api_key = "fk-FCHVDJh1X-2HeS24Yla_Ejg03qJBdWaDOd-Jzy3PKTk" #openai.api_key = "fk-FNIMfMbv4rllIcPywvu_qsgfIbvyjcmtsfcxppX7hJU" openai.api_base = "https://ai.fakeopen.com/v1/" 这是什么? |
49
woctordho 136 天前 via Android
学会用 ruff 之类的自动检查工具,不一定要让人类帮你检查代码规范
|
51
Mark24 136 天前
好卷。
不必太着急,以后有的时间打工,要打到 65 岁。 :D |
54
knightgao2 136 天前 1
学业为主吧,工作时间还长,大学再卷也完全来的及,哪怕高考结束完刷算法参加比赛也来得及的
|
55
ihainan 136 天前 1
准高一能写出这样的代码还会用 Git 我觉得已经领先很多同龄人了,我高一的时候还只会 Turbo Pascal 写点简单的代码。
|
56
yb2313 136 天前 1
代码格式用 ruff 解决就行了, 干净又卫生啊
|
57
gongquanlin 136 天前
@wxw752 哈哈我从按键精灵搞天龙八部脚本开始的,哈哈
|
58
gongquanlin 136 天前
这注释已经能超过一些在职的码农了🤣
现在有时间还是学业为重, 考上个好大学去科班学习修炼,比自己闭门造车提升快多了 |
59
lyxxxh2 136 天前
挺不错的。
代码也有段落感,比一部分实习生还好。 格式方面,用 black 就行,不用浪费心智。 1. return 不用接 else,无效 else 2. 建议封装成 class,可读性更强。 Class xx: def __init__: self.client = 'xxx' def run(): self.init_params() self.check_image() self.add_input self.xxx 3. input 可以换成 argparse,输一次就行。 我刚搬砖时的代码: $file=$request->file('pic'); $ext =$file->getClientOriginalExtension();//获取文件后缀 $ext=strtoupper($ext); if($ext=='JPEG'||$ext=='JPG'||$ext=='PNG') { //生成随机文件名 $filename =date("m/d/s").str_random(15).'.'.$ext; .... |
60
diagnostics 136 天前
好好学习,这个阶段能写出代码来就比别人强了。
不需要太在意规范,需要在意的是学习,不然你代码再强也是牛马 |
61
Dongxiaohao 136 天前 3
@wxw752 #3 笑死了,11 年小学六年级暑假闲的没吊事下了个易语言,照着敲了个盗号程序(后来才知道是 smtp 发邮件,发件箱和邮箱授权码直接写到程序里了...)署名 QQ 挂机升级,发到各大论坛什么猴岛,散人小嘀咕,ms1018 。。。没两天就收到了不少邮件,其中不乏一些可以登上去的,不过那会拿了一堆号也不知道干什么,挑了几个倒霉蛋上号把人家好友清空了 ,以至于后来我上这种来路不明的工具,都会瞎搓一段账号密码试试可不可以登上去。。。
|
62
vipfts 136 天前
江山代有人才出, 一代新人换旧人
|
64
programdogs251 136 天前 1
代码不重要,写的在好看,假如依旧是底层码农,真对不起你高一就开始写代码。这份积极
给你 2 个路线参考下: 1.杨值麟 (顶尖的学历,完美的工作履历,搞尖端方向的研究,老外称这种为研究 yuan ) 2.彭 zhi 辉 (动手能力强,能把所学融入到实际,如机械 bi ,自动行驶自行车,工程能力强) 以上 2 类人,都是不据于代码写的如何,也不 care 你 api 调用的 6 不 6 ,代码设计模式好不好。 |
65
starlion 136 天前
现在的高中生好厉害了👍
|
66
lostwolfkf 136 天前
虽然不错,但如果要当成以后的工作的话,建议考公,现在准备领先好多年😅
|
67
ccmark 136 天前
注释尽量锻炼着写英文
|
68
sampeng 136 天前
高中生。。。。emmm 。没用
|
69
leegradyllljjjj 136 天前 via iPhone 5
@jimliang 工作几年后发现,文档 单元测试 性能优化 硬上各种框架花活儿没啥鸟用,满足需求最短时间交付上线才是王道
|
70
zhanglintc 136 天前
我读成了“准备一生写的代码”,吓我一跳,啥代码能写一生?!!
|
71
fenddddddda 136 天前
写代码基于程序员,就像厨师会炒菜一样。 会炒菜和有好的饭店不是一个事... 不过菜炒的好确实能找到一个岗位...
|
72
DefoliationM 136 天前 via Android
牛的,我初中的时候还只会用 mrp 里的类 c 语言。
|
73
chesha1 136 天前
高中生没必要讲究这些,多研究研究 OI ,争取保送个好大学,大学里可以慢慢研究
|
74
xcsoft 136 天前
我高中的时候 还在写 php
|
75
GoGoFat 136 天前
有一说一,这个代码比我公司同济本科毕业生写的舒服多了。
|
76
yjxjn 136 天前 2
代码写的挺好的。
但是作为一名 985 毕业的程序员,我想说考个好大学比提前会编程重要太多。 目前已经不是 20 年前的情况了,哪怕高中毕业,只要编码能力不错学习能力强都能找一份不错的工作。 好好备战高考吧!去干别的行业,将编程融入进去,可以降维打击。 |
77
dcmi2021 136 天前
我的学历是 211 硕士,代码和你写的差不多,但最重要的是考个 985 或者 211 学校,这样才有敲门砖能够去更高的地方写代码&生活
|
81
EndlessMemory 136 天前
可以了
|
82
OceanWaves 136 天前
研究这些玩玩可以,实际作用不大,考个好大学,英语达到雅思 8 炸水平,这些比研究这个收益大很多
|
83
zeni123 136 天前
考个好大学。 高中可以搞信息学,搞别的可以但是以你的水平已经意义不大了。
|
84
pf94 136 天前 1
这个代码在我这里是不合格的,从上往下说
1. import 顺序问题,前面已经有人说了;其他还有空格等格式问题下面就不提了 2. 30-52 行,无意义的字典定义,并且缩进有问题 3. 初始化全局变量,这个设计问题很大,导致大部分函数有副作用 4. get_information:第一个带副作用的函数,58 、60-63 行全角半角字符混用(同样的问题后面不提了) 5. 85 行:注释风格不统一,58 行的在函数定义前一行,参数空格问题 6. 115 行:注释错误,并不能 catch 不是图片的情况,因为 try 里面非图片情况没有报错而是直接返回 False 7. 139 行:经典整个 if 作为一个函数,没有处理 else 情况,if message[history_id]["history_content"][-1]["role"] != "user": ...可以让整个函数少一层缩进 8. 177 行:意义不明的变量命名 9. 181 行:pic_url 命名风格不统一,information, history 等都是整个单词,省略 picture 毫无意义 10. 189 行:循环外使用循环内定义的变量 中等问题是代码风格不统一,大问题是大量使用副作用函数 建议加上 type hint ,多用 black 和 mypy 检查 |
85
bugmaker233 136 天前
脚本语言还有代码规范吗,想咋写咋写,那些给你建议的也不一定符合你
|
86
3country 136 天前
有这心思不如高考提上 50 分,金学历比“编程能力强”这个铁锄头强太多
|
87
zhangyp7536 136 天前
我高一的时候还在看 《 30 天从零到精通 C 语言》
|
88
netizenHan 136 天前
高一都没开始就说只能到一本了?就是班级倒数努力三年也能考好大学
|
89
hanssx 136 天前
建议学学 C ,看看计算机底层的一些东西;对数学感兴趣,可以看看算法。
代码只是工具,现在让 AI 帮你写代码就差不多了。 |
90
exiledkingcc 136 天前
建议用上工具,包括但不限于 ruff black mypy 。
这些工具都可以帮助你写出更好的代码。 |
91
linyichang 136 天前
🙋
|
92
linyichang 136 天前
|
93
linyichang 136 天前
@monkeyk 🙋
|
94
xinghusp 136 天前 2
首先还是表扬一下,准大一能有这份能力已经难能可贵了。代码前面的大佬已经说得差不多了,我就不重复讲了,
作为一名大学的计算机老师,我谈谈其他方面的事情吧,希望能对你的计算机学习之路有点启发。 记住,计算机编程,实际上是对你所掌握的各种各样的知识(不仅仅只是计算机)的一个综合运用。 为什么这么说呢?因为计算机本质上就是个“超大号”的计算器。它可以在一秒钟内做出数以亿计的计算题。而这个计算器,需要程序员控制它,让它以特定的顺序按部就班的进行计算。 因此,程序员的工作,实际上就是将各种各样的需求,抽象分离成一个个的计算题,然后让计算机以一定的规则进行计算,最后把结果告诉我们。 举个栗子,一个乒乓球从桌子上掉落到地面。在现实生活中,显然我们可以很轻易的观察到如下现象:球落下会有个加速的过程;碰撞到地面时,会被弹起;由于存在能量损耗,每次弹起的高度会逐渐减小……现在,假如你要在计算机里模拟这样的一个场景,你是不是得知道,下落时的加速度如何计算,碰撞时的动能损失如何计算,甚至在精确一些,不同的表面材质对各种计算过程的影响有哪些…… 你看,一个简单的生活小现象,在计算机里要实现起来,你得了解物理、数学的相关学科知识;而这一些知识,很多时候并不会有一门专门的课程来教你,而是需要你在日常的学习中,把每一个看起来枯燥乏味的知识融会贯通,真正理解他的本质,日后的某一天,你在遇到问题的时候,自然而然的就会想到解决方案了,这才是一个程序员最为核心的技能。 所以,针对现阶段的你,我有几点小小的建议供你参考: 1 、保持对计算机的兴趣。兴趣是最好的老师,无所谓你感兴趣计算机的啥,只要你能一直保持这样的兴趣,你就会一直有动力折腾下去。(想当年为了搞到些“生理资源”,自个儿努力把计算机网络学得个明明白白的) 2 、学好基础学科。数学、物理、化学、生物,这些都是日后能帮你解决问题的学科。另外,英语也一定要学好,很多的资料,尤其是第一手资料,都是英语的,学好英语可以帮助你快人一步。 3 、考个好大学。前面有大佬也说到了这一点,好学校的教育资源,远远比差的学校要好得多,包括师资力量,你周围人的见识,甚至于学校机房的电脑。所以,这件事情,应当是你现阶段最重要的,毕竟现在已经不是那个“酒香不怕巷子深”的年代了,有一个好的起点,日后绝对可以事半功倍。 4 、如果你还有时间的话,我推荐你可以在 Coursera 上学 Nand2Tetris 这门课程。这门课程,引导你从 0-1 构建一台现代的计算机,如果你能好好学完这门课,你对计算机的本质会有一个全面而深刻的理解,对你日后的计算机成长之路会大有脾益。 就先说这么多吧~ |
97
huoshanhui 136 天前
动手能力强。👍🏻
其他不重要。 |
98
duron600 136 天前
就提个醒,不要被那种“代码写得再好也没用”的人误了终身。这类人应该就没写出过能看的代码。
|
99
karnaugh 136 天前
工程化个人建议:
项目的文件摆放,你可以当做是另一个抽象的 UI 界面,相比于给用户看的 ui 界面,这是真正给开发者看的东西 如果我做的话,我会选择最外层只放 入口文件 和 readme.md ,其他的收入 src 中,然后在区分 常量 constant 、工具 util 、页面 view 、插件 plugin 等等 不过不弄也没事,纯属个人兴趣爱好,又不是运行不起来(狗头 |
100
WingXi 136 天前
第一步,先把功能按照需要给实现了。
第二部,应该参考 官方 pep8 的文档,把代码里面的风格,注释等的内容进行修改,保证代码符合官方规范 |