我的PHP代码中使用的SQL数据库来自非程序员制作的excel文件。当我无法解释我的excel文件的问题时,我通常只是尝试编写它。这导致了我的一些非常不完整的代码。有没有其他人有这方面的经验?尝试围绕其他人编写代码通常更好吗?是否更好地坚持并要求更强大的表结构?
答案 0 :(得分:4)
这取决于谁的时间更有价值?这并不像你想象的那么简单。最后,这是一个商业决策,而不是技术决策。
如果你有10,000个用户,那么用户的总时间可能更有价值,你应该尽可能地编码接受,因为这样可以节省时间。
如果你有5个用户,并且它们并不是特别重要,那么请继续并要求你喜欢的任何东西,这样他们就可以花费更少的时间来修复他们的数据,而不是用来编码他们的问题。 / p>
如果你有一个用户,并且它是首席执行官,你最好适应,因为他们的时间比你的更有价值。
答案 1 :(得分:3)
作为一名SQL专业人士,我可以向您保证这是完全正常的。我经常不得不与那些在数据库设计和查询方面表现不佳的C#开发人员打交道。哎呀 - 我必须和那些做得很差的SQL专业人士打交道。 (并且可以承认过去也做过一份糟糕的工作)。
我会努力鼓励学习和自我提升的文化。寻找机会进行重构,并尝试安排定期(每月几天)进行重构,假设您已经进行了适当的测试以确保功能实际上没有发生变化。
答案 2 :(得分:2)
如果您决定坚定并要求更强大的表格结构,您需要为非程序员提供清晰,简洁,明确的文档,以及良好的错误报告工具,以便更快速,更轻松地弄清楚他们何时犯了错误以及它是什么。没有什么比让某人对你大喊大叫“你需要以这种方式做事,或者程序无法正常工作”(或甚至说得很好但坚定),然后三个月后不得不再次完成任务如果没有回去问程序员,就无法弄清楚标准是什么。
因此,有时只需编写错误数据代码就更容易了。它还有助于使您的程序更灵活,更健壮。但是如果你开始向后弯腰去做,那么请确保非程序员有简单的方法来检查错误,并且消息清晰明确,并且有很好的文档说明对它们的期望是什么输入。
答案 3 :(得分:1)
您应该要求数据正确。不要编写最终错误的内容。
答案 4 :(得分:1)
是的,你应该要求正确的数据。
但是......你可以帮助他们。创建一个工具,在它到达您之前验证他们可以使用的数据。
答案 5 :(得分:0)
您可以同意标准格式并同意如果数据不是标准格式会发生什么(即,在符合格式之前不会导入数据库)。
有多少用户向您提供数据?验证excel文件格式的工具是否会很快获胜?用户可以验证他们的文件,并在任何行或列不符合标准格式时被通知。
答案 6 :(得分:0)
到目前为止,曾经有一个客户我要求他遵循一套结构,并向他解释说这个结构是特别需要的,因为该计划已经制定了一些规则。 (毕竟他是从excel管理的,这是一个CSV文件)。
编码你的方式对你来说只是一场噩梦。只是同意像Russ这样的标准。
答案 7 :(得分:0)
您应该提供清晰的规范或界面,并且只接受根据该规范的数据。
对于某些excel模板,您应该尝试使数据输入端的那些尽可能万无一失。这可能涉及锁定行,为宏提供定制的GUI以便于输入等。
你可能想要一些像CSV一样简单的东西。
如果可以,您应该在导入数据库之前尽可能地尝试验证数据。
当然,解决这些问题不是一个好主意 - 而且听起来浪费了宝贵的编码时间。
顺便说一下 - 这似乎是Tips for communicating with non programmers的愚蠢(尽管可能有点不同)。