Soft_Job 板


LINE

※ 引述《alan23273850 (God of Computer Science)》之铭言: : 各位板友午安,本鲁软体板首次发文请小力鞭 : 是说最近常和同学讨论到整理 code snippet 的重要,也就是功能导向的笔记 : 举例来说,要测量程式执行的时间, : 以 C 语言来说,可以是: : clock_t start = clock(); : ... // code execution : clock_t end = clock(); : printf("%f\n", (float)(end - start) / CLOCKS_PER_SEC); : 但如果是以 python 而言,则是: : import datetime : before = datetime.datetime.now() : ... // code execution : after = datetime.datetime.now() : print after - before : 那麽各位工程师不觉得针对不同的功能,把所有语言的 code 整理在一起, : 未来撰写程式在翻阅或查阅的时候就更方便,不需要再敲 Google 关键字了呢? : 台大资讯系刘邦锋教授也有写过 "由片语学习 C 程式设计" 一书, : 虽然我没读过,不过我猜应该就类似书中那种以功能为导向整理过的感觉。 : 有没有什麽好用的工具或方法能有条不紊地整理这些 code 呢? 乱入一下,python 其实用 decorator 比较方便,也有人有提供 library def stopwatch(func): def with_logging(*args, **kwargs): start_time = time.time() try: return func(*args, **kwargs) finally: end_time = time.time() logger.info("{:36s} :: {:.3f}".format( \ func.__name__, end_time - start_time)) pass return with_logging @stopwatch def my_function(): # do something pass ========================================================== 至於 cheat sheet 的部分,最好是能被『执行』的程式码。 因为单纯眼睛看可能不太明白,可是跑一次就懂了。 不过,当你在『工作』的场域时,这些常用的工作大致都应该包好了。 也就是当你想要自干某些东西时,先问一下同事有没有相似的功能已被实作。 或是你可能打开旧专案,复制一段 code 出来用而已。 这类比较小行数的 cheat sheet 大概只会剩下一些难记的参数。 像是那个我永远记不住的 ffmpeg 参数,或是建立专案时 gradle 编译设定。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 59.115.99.169
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Soft_Job/M.1524913222.A.3A7.html ※ 编辑: qrtt1 (59.115.99.169), 04/28/2018 19:05:11
1F:→ alan23273850: 其实我对 python 真的不是很熟,感谢建议 04/28 19:42
2F:推 kenshin528: 推 decorator 04/28 22:17
3F:推 hl4: 既然要用decorator 那乾脆再补个functools.wraps比较好 04/29 01:24
4F:推 vvind: 同推楼上 04/29 09:35
应 review comment 来补补 :) from functools import wraps def stopwatch(func): @wraps(func) def with_logging(*args, **kwargs): start_time = time.time() try: return func(*args, **kwargs) finally: end_time = time.time() logger.info("{:36s} :: {:.3f}".format( func.__name__, end_time - start_time)) pass return with_logging ※ 编辑: qrtt1 (59.115.99.169), 04/29/2018 09:56:10







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:BabyMother 或 站内搜寻

TOP