微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Psycopg2 / PostgreSQL 中的硬编码和冗余代码?

如何解决Psycopg2 / PostgreSQL 中的硬编码和冗余代码?

我目前正在学习数据工程课程,对数据建模部分提供的示例和练习感到有点傻眼:

一切都是硬编码的,“复制粘贴”统治着这个地方......

这是一个简单的例子:

try: 
    cur.execute("INSERT INTO music_store2 (transaction_id,customer_name,cashier_name,year,albums_purchased) \
                 VALUES (%s,%s,%s)",\
                 (1,"Amanda","Sam",2000,"Rubber Soul"))
except psycopg2.Error as e: 
    print("Error: Inserting Rows")
    print (e)

try: 
    cur.execute("INSERT INTO music_store2 (transaction_id,"Let it Be"))
except psycopg2.Error as e: 
    print("Error: Inserting Rows")
    print (e)
    
try: 
    cur.execute("INSERT INTO music_store2 (transaction_id,\
                 (2,"Toby","My Generation"))
except psycopg2.Error as e: 
    print("Error: Inserting Rows")
    print (e)
    
try: 
    cur.execute("INSERT INTO music_store2 (transaction_id,\
                 (3,"Max","Bob",2018,"Help!"))
except psycopg2.Error as e: 
    print("Error: Inserting Rows")
    print (e)
    
try: 
    cur.execute("INSERT INTO music_store2 (transaction_id,"Meet the Beatles"))
except psycopg2.Error as e: 
    print("Error: Inserting Rows")
    print (e)

我必须承认,乍一看,我不禁认为这真的很糟糕,很难维护代码,而使用变量和循环会更好。

然而,想起我有时会成为一个无知和傲慢的傻瓜,我退后一步,不要急于下结论。

难道这真的是标准做法吗?

所有这些硬编码和复制粘贴在这里有充分的理由吗?

非常感谢您的评论

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?