6月30日更新

鉴于题主说老师已经收回对行数的要求,就请大家看过则罢,不要再点赞了(还有收藏的是什么鬼?)。本文说的不过是一些投机取巧的伎俩,不值取,不可取。

~~~以下是原文~~~:

一个熟练工程序员,每天有效代码大概50行(很多人不信,用项目最终代码量除以人天就知道了),月薪大概12000元。外包出去得上万吧。

我们这边刚开一个报价20万的项目,预计有效代码也就5000行。

如果题主真的没有什么好办法了,建议题主从以下几个方面着手增加代码量

1 增加项目复杂度。增加项目模块,比如UI用PyQt写一遍,再用HTML5写一遍,比如后端用后端渲染方式写一遍,又以RESTful写一遍,老师问为什么写这么多遍,你说你项目是跨平台的,搞个桌面版,搞个网页版,还搞好多接口给未来移动端用。后台每个业务都单独做一个服务,互相调用。

2 不追求pythonic。能写两行的不要写成一行,不用列表推导,不用匿名函数,少用继承,少用生成器,少用装饰器;分支循环多嵌套。

3 大量硬编码。把模板、配置、字符串、变量、SQL硬编码在代码里。

4 分行写。如

容器类型分行写:

some_list: list = [

e1,

e2,

...

]

some_dict: dict = {

k1: v1,

k2: v2,

...

}

链式调用分行写。如(下面代码中也包含了SQL分行写和硬编码)

sc = SparkSession \

.builder \

.appName("some_app_name")\

.enableHiveSupport()\

.getOrCreate()

... ...

spark \

.sql("""select name

,age

from student

where grade > 3

and sex = 0

""") \

.write \

.saveAsTable(sometable, mode='overwrite')

函数参数分行写

a = some_func(

arg1,

arg2,

arg3,

...

)

5 手动展开。如

# 常规写法

sql_pattern = 'select city, population from country where city = {}'

cities = [city1, city2, city3, city4, ...., city100]

for city in cities:

sql = sql_pattern.format(city)

do_something_with_sql(sql)

# 填充代码量的写法

SQLs: list = [

"""select city

,population

from country

where city = city1

""",

"""select city

,population

from country

where city = city2

""",

...

"""select city

,population

from country

where city = city100

""",

]

for sql in SQLs:

do_something_with_sql(sql)

6 注释变有效代码。如

按下面这种方式,代码检测软件可能认为是注释而不是有效代码,

"""

this module contains some utils functions.

Usage:

bala bala ...

"""

按下面这种方式,代码检测软件会认为是有有效代码,而功能没有发生改变,

__doc__ = """

this module contains some utils functions.

Usage:

bala bala ...

"""

这适用于模块注释、类注释、函数注释。

按下面这种方式,代码检测软件可能认为是注释而不是有效代码,

if not IPPool.has_any_ip():

# 如果没有IP了

do_something()

把注释改成日志,就成了有效代码,

if not IPPool.has_any_ip():

log.info('没有IP了')

do_something()

7 多写日志,日志内容多分行。

8 多写函数快捷方式。比如你一个函数只要传入不同参数就能完成多个任务,那你多写几个函数来调用这个多功能函数,把参数写死,变成多个单功能函数。老师问为什么重复实现,你说这是shortcut,很多库都这么比如

def request(r, method):

pass

# 可以写成

def get(r):

return request(r, method="get")

def post(r):

return request(r, method="post")

9 重复实现轮子。抄一些开源代码在你的项目里。

10 多写测试。一个项目里,测试代码能占到总代码量的三分之二之多。你多编用户故事,多编工作流,多写测试用例,何愁代码量上不来。

11 不知道前端代码算不算项目代码量,如果算的话那可就简单了,嘿嘿,鬼知道HTML里能塞啥子东西进去。你尽可能塞些JS代码进去,里面尽是些永远也不会发生的事件。

以上都是些不得已的方法,真正建议的,还是希望题主把这个任务当做一次挑战,认真地完成,而不要像上面那样投机取巧。投机取巧会成为一种习惯的。认真做作业,即便最终没得到老师认可又如何,尽吾志者而不能至也,其孰能讥之乎?

python大作业代码_大二期末python大作业有效代码不低于5000行是什么水平?相关推荐

  1. html网页设计代码作业——家乡介绍-长治(8页) HTML+CSS+JavaScript 学生DW网页设计作业成品 html网页制作期末大作业成品_网页设计期末作业

    HTML5期末大作业:家乡介绍网站设计--家乡介绍-长治(8页) HTML+CSS+JavaScript 学生DW网页设计作业成品 html网页制作期末大作业成品_网页设计期末作业 常见网页设计作业题 ...

  2. html期末作业代码网页设计——云南民族文化(8页) HTML+CSS+JavaScript html网页制作期末大作业成品_网页设计期末作业

    HTML5期末大作业:家乡文化网站设计--云南民族文化(8页) HTML+CSS+JavaScript html网页制作期末大作业成品_网页设计期末作业 常见网页设计作业题材有 个人. 美食. 公司. ...

  3. HTML5期末大作业:水果商城网站设计——蔬菜水果商城(10页) HTML+CSS+JavaScript 学html网页制作期末大作业成品_网页设计期末作业

    HTML5期末大作业:水果商城网站设计--蔬菜水果商城(10页) HTML+CSS+JavaScript 学html网页制作期末大作业成品_网页设计期末作业 常见网页设计作业题材有 个人. 美食. 公 ...

  4. python随机抽签列表中的同学值日_神奇的大抽签--Python中的列表_章节测验,期末考试,慕课答案查询公众号...

    神奇的大抽签--Python中的列表_章节测验,期末考试,慕课答案查询公众号 更多相关问题 下图表示几个植物类群的进化关系.下列叙述不正确的是[ ]A.最先出现的植物类群是甲B.乙和丙都是由甲进化来的 ...

  5. HTML5期末大作业:XXX 网站设计——电影请以你的名字呼唤我(4页)HTML+CSS+JavaScript html网页制作期末大作业成品_网页设计期末作业

    HTML5期末大作业:XXX 网站设计--电影请以你的名字呼唤我(4页)HTML+CSS+JavaScript html网页制作期末大作业成品_网页设计期末作业 常见网页设计作业题材有 个人. 美食. ...

  6. html网页制作期末大作业成品_网页设计期末作业-简洁源码-我的学校

    Web前端开发技术 描述 网页设计题材,DIV+CSS 布局制作,HTML+CSS网页设计期末课程大作业,校园班级网页设计 | 我的班级网页 | 我的学校 | 校园社团 | 校园运动会 | 等网站的设 ...

  7. python 去除列表空值_零基础学习Python之9大关键概念

    一.为什么学Python ? 1.Python是人工智能,数据分析必备工具,目前为世界上发达国家主流编程语言. 二.学习Python 的4个关键点. 数据/函数/条件判断/循环 三.九大关键概念 1. ...

  8. php写入大文件内容_用PHP读取超大文件的实例代码

    数据量大带来的问题就是单个文件很大,能够打开这个文件相当不容易,记事本就不要指望了,果断死机 去年年底的各种网站帐号信息的数据库泄漏,很是给力啊,趁机也下载了几个数据库,准备学学数据分析家来分析一下这 ...

  9. python怎么打日志_怎样调试 日志 python 代码

    展开全部 使用 pdb 进行调试 pdb 是 python 自带e5a48de588b662616964757a686964616f31333361306366的一个包,为 python 程序提供了一 ...

最新文章

  1. 使用批处理实现mysql数据库备份与上传
  2. ***测试之情报收集
  3. GDT,LDT,GDTR,LDTR 详解,包你理解透彻
  4. SlidingMenu(一)
  5. org.json的使用详解
  6. 使用记事本开发第一个java程序
  7. 面试大厂被怼!这都搞不定,你只能做“搬运工”!
  8. MFC控件之cimagelist,加载不上位图
  9. matlab提取汉字拼音,中文转拼音工具
  10. Codewars练习题目
  11. MYSQL中linux的前戏
  12. 如何解决Worm.Win32.AutoRun.bqn(文件夹改exe病毒)
  13. SCCM通过PXE部署系统蓝屏Recovery
  14. koa2 mysql sequelize_[转]使用nodejs-koa2-mysql-sequelize-jwt 实现项目api接口
  15. Unity 用于控制摄像机的旋转、远近
  16. 第一款个人应用——《不做手机控》——终于上线啦!
  17. Urban NeRF
  18. INV模块常用表结构
  19. Python批量复制一个文件夹中的全部excel数据并粘贴至一个excel文件中-openpyxl模块
  20. Linux系统制作启动U盘并安装centos 7.6

热门文章

  1. Shell文本处理三剑客(三)
  2. Hadoop入门进阶步步高(四)-测试Hadoop
  3. dorado7网页api
  4. SecureCRT用证书方式登录
  5. POJ 2763 Housewife Wind【LCA_RMQ+树状数组】
  6. 关于Javascript闭包的理解(二)
  7. 1.2 Enterprise Library 应用程序块
  8. Django—自定义分页
  9. 谈谈软件工程与计算机科学的区别
  10. 电脑Bois中usb模式启动热键