我在我的应用程序中使用了很多Azure服务,很多次,我必须首先读取一些数据,然后操作它然后更新数据库。请参阅下面的简单示例:
// Read students list
var students = await _myRepository.GetStudents();
// Manipulate the data
students.Add(student);
// Then update the database which returns an updated list of students
// See the two options below
我有时使用相同的变量来获取更新的值,它可以正常工作。问题是,我应该总是将更新的值分配给新变量吗?
// Option 1: Use the same variable for updated values
students = await _myRepository.UpdateStudents(students);
// Option 2: Use a new one
var updatedStudents = await _myRepository.UpdateStudents(students);
当我将更新的值分配给新的变量时,很多次,我最终会遇到很多这样的代码会使代码变得复杂。
答案 0 :(得分:0)
根据我的个人经验,我有一条规则,我通常遵循:如果稍后可能需要变量用于记录,附加操作等,那么我使用新变量,但如果变量现在保持无效状态,例如在更新之前变量,然后我重用变量。
我发现这通常会产生最好的代码,因为你不会得到一堆无效的状态变量。这些无效变量可能会变得混乱,因为您可能不得不经常回头确定哪些变量具有有效的当前状态。
虽然没有严格的规则,如果你有一个复杂的过程,有多个步骤变量可能是有益的,但最终它取决于任务的复杂性和步骤变量的需要。