Самодокументований код легше читати та підтримувати
Дотримуйтесь Принципу найменшого спокутування та принципу кодової документації : використовуйте одну змінну для однієї мети, щоб і її використання було легко зрозуміти, і код легко читати без пояснень.
Правильно структурований код легше (таким чином дешевше) використовувати (пере) використовувати
Крім того, тут, схоже, query
завжди використовується для підготовки заяви перед його виконанням. Це, мабуть, знак того, що ви хочете перефактурувати частину цього коду на один (або більше) допоміжних методів для підготовки та виконання запиту (щоб відповідати принципу DRY ).
Таким чином, ви ефективно:
- використовуйте лише одну змінну у своєму допоміжному методі, щоб визначити запит поточного контексту,
- потрібно вводити менше коду кожного разу, коли потрібно повторно виконати запит,
- зробіть ваш код більш читабельним для інших.
Приклади:
Розглянемо це, взяте з вашого прикладу, де оновлена версія, очевидно, краща. Звичайно, ваш фрагмент був лише прикладом для цього питання, але ця концепція все ще відповідає дійсності та масштабам.
Ваш приклад 1:
Strings querycre,queryins,queryup,querydel;
querycre = 'Create table XYZ ...';
execute querycre ;
queryins = 'Insert into XYZ ...';
execute queryins ;
queryup = 'Update XYZ set ...';
execute queryup;
querydel = 'Delete from XYZ ...';
execute querydel ;
Ваш приклад 2:
Strings query;
query= 'Create table XYZ ...';
execute query ;
query= 'Insert into XYZ ...';
execute query ;
query= 'Update XYZ set ...';
execute query ;
query= 'Delete from XYZ ...';
execute query ;
Приклад 3 (Рефактований псевдокод):
def executeQuery(query, parameters...)
statement = prepareStatement(query, parameters);
execute statement;
end
// call point:
executeQuery('Create table XYZ ... ');
executeQuery('Insert into XYZ ...');
executeQuery('Update XYZ set ...');
executeQuery('Delete from XYZ ...');
Вигода проявляється при регулярному використанні.
Особистий анекдот
Спочатку я почав як програміст C, що працював з обмеженою екранністю нерухомості, тому повторне використання змінних мало сенс як для компільованого коду (тоді), так і для того, щоб дозволити читати більше коду відразу.
Однак, перейшовши на мови вищого рівня та налаштувавшись на функціональне програмування, я взяв звичку використовувати незмінні змінні та незмінні посилання, коли це можливо, щоб обмежити побічні ефекти.
Що це для мене?
Якщо ви скористаєтеся звичкою, щоб усі входи вашої функції були непорушними і повертали новий результат (як справжня математична функція), ви потрапляєте у звичку не дублювати магазини.
За розширенням це призводить до:
- ви пишете короткі функції,
- з чітко визначеними цілями,
- які легше зрозуміти,
- повторно використовувати,
- продовжити (за спадщиною OO чи функціональним ланцюгом),
- і документ (як уже самодокументування).
Я не кажу, що тут немає користі для змінного стану, я просто вказую, як звичка може зростати на вас і як це впливає на читабельність коду.