Мой классический ASP ржав, но:
Response.Write "<table>" & vbCrlf
Response.Write "<tr>" &vbCrLf
Response.Write "<tdclass=""someClass"">" & someVariable & "</td>" & vbCrLf
Response.Write "</tr>" & vbCrLf
Response.Write "</table>" & vbCrLf
это выполняется как есть. Это, однако:
<table>
<tr>
<td class="someClass"><%= someVariable %></td>
</tr>
</table>
результаты в:
Response.Write"<table>\r\n<tr>\r\n<td class="someClass">"
Response.Write someVariable
Response.Write "</td>\r\n</tr>\r\n</table>"
, Где \r\n является vbCrLf
Так технически, второй более быстр. ОДНАКО различие было бы измерено в единственных миллисекундах, таким образом, я не буду волноваться об этом. Я был бы более обеспокоен, что лучший в значительной степени неудобен в сопровождении (особенно разработчиком UI HTML), где, поскольку второй тривиален для поддержания.
опоры @Euro Micelli - обслуживание является ключом (который является также, почему языки как Ruby, Python, и в прошлом (tho все еще....) C# и Java ударили торец по C, C++ и блоку - люди могли поддержать код, который является путем, более важным, чем бритье некоторых мс от загрузки страницы.
, Конечно, C/C++ и т.д. имеет их место...., но это не он.:)
I на самом деле не знаю, в чем дело с NotNull
, но у меня складывается впечатление, что Scala еще не полностью разработала, как она хочет работать с концепциями NotNull / Nullable. Моя собственная политика - никогда не использовать null в Scala, и если вы вызываете Java API, который может возвращать null, немедленно преобразуйте его в Option
.
Этот служебный метод - мой лучший друг:
def ?[A <: AnyRef](nullable: A): Option[A] = if (nullable eq null) None else Some(nullable)
Затем вы делаете что-то вроде этого:
val foo: Option[Foo] = ?(getFooFromJavaAPIThatMightReturnNull())
Я считаю это намного проще, чем пытаться отследить, что может быть, а что нет.
Так что я вообще не ответил на ваш вопрос, но я согласен на всякий случай ...
Обновление : более поздние версии Scala теперь поддерживают это в стандартном API:
val foo: Option[Foo] = Option(getFooFromJavaAPIThatMightReturnNull())