В этом вопросе о stackoverflow принятый ответ предполагает повторение одних и тех же фрагментов кода несколько раз. По моему опыту, многие люди стремятся уменьшить это, инкапсулируя фрагменты кода различными способами, по разным причинам;
принятый ответ предполагает повторение одних и тех же фрагментов кода несколько раз. По моему опыту, многие люди стремятся уменьшить это, инкапсулируя фрагменты кода ...
В этом вопросе о stackoverflow принятый ответ предполагает повторение одних и тех же фрагментов кода несколько раз. По моему опыту, многие люди стремятся уменьшить это, инкапсулируя фрагменты кода различными способами, по разным причинам;
принятый ответ предполагает повторение одних и тех же фрагментов кода несколько раз. По моему опыту, многие люди стремятся уменьшить это, инкапсулируя фрагменты кода ...
В этом вопросе о stackoverflow принятый ответ предполагает повторение одних и тех же фрагментов кода несколько раз. По моему опыту, многие люди стремятся уменьшить это, инкапсулируя фрагменты кода различными способами, по разным причинам;
- Ремонтопригодность (меньше мест для изменения)
- Удобочитаемость (прочтите код один раз, затем каждый раз он будет «псевдонимом»)
- etc, etc
Используя код из связанного вопроса, как бы вы намеревались уменьшить повторение идентичных фрагментов кода? Или вы просто оставите все как есть?
(Не используя альтернативную логику, но придерживаясь использования REPLACE и т.д., просто изменив представление той же логики.)
Select Case
When CharIndex('.', Replace(URL, 'www.','')) > 0 then
Left(Replace(URL, 'www.',''), CharIndex('.',Replace(URL, 'www.',''))-1)
Else
Replace(URL, 'www.','')
End as [CleanURL]
From dbo.YourTable
(Принятый ответ изменился, поэтому я скопировал пример кода сюда.)
РЕДАКТИРОВАТЬ
Просто для пояснения, поскольку я думаю, что вызвал путаницу.
Это не:
- Как мне инкапсулировать весь этот фрагмент кода для повторного использования?
Но это скорее:
- How do I reduce rendundancy within this piece of code?