Kapitel 20. E/A zur Übergabe von Daten durchführen
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Ein- und Ausgaben sind im Code problematisch. Wenn Dateien verschwinden oder Netzwerksockel fehlschlagen, kann es zu Fehlern in unserem Programm kommen. E/A ist auch eine Aktion und schränkt daher unsere Möglichkeiten ein, unseren Code zu überdenken und zu überarbeiten. Wie können wir die Probleme, die E/A verursacht, einschränken?
Nachdem wir in den vorherigen Kapiteln einige Grundlagen geschaffen haben, werden wir jetzt das Tempo erhöhen und direkt mit dem Refactoring beginnen und dabei Lektionen lernen.
Zuhören bei Tests
In Kapitel 10 haben wir uns einen Java-Code angeschaut, der einen Bericht für das Marketing erstellt. Als wir den Code verließen, hatten wir Erweiterungsfunktionen für HighValueCustomersReport
eingeführt, die uns
@Throws
(
IOException
::
class
)
fun
generate
(
reader
:
Reader
,
writer
:
Writer
)
{
val
valuableCustomers
=
reader
.
readLines
()
.
toValuableCustomers
()
.
sortedBy
(
CustomerData
::
score
)
writer
.
appendLine
(
"ID\tName\tSpend"
)
for
(
customerData
in
valuableCustomers
)
{
writer
.
appendLine
(
customerData
.
outputLine
)
}
writer
.
append
(
valuableCustomers
.
summarised
())
}
private
fun
List
<
String
>.
toValuableCustomers
()
=
withoutHeader
()
.
map
(
String
::
toCustomerData
)
.
filter
{
it
.
score
>=
10
}
private
fun
List
<
String
>.
withoutHeader
()
=
drop
(
1
)
private
fun
List
<
CustomerData
>.
summarised
():
String ...
Get Von Java zu Kotlin now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.