diff --git a/README.md b/README.md
index 15aa242..6427218 100644
--- a/README.md
+++ b/README.md
@@ -2,29 +2,29 @@
 using a series of `Pattern`s. For example:
 
 ```dart
-import 'dart:math';
+import 'dart:math' as math;
 
 import 'package:string_scanner/string_scanner.dart';
 
 num parseNumber(String source) {
   // Scan a number ("1", "1.5", "-3").
-  var scanner = StringScanner(source);
+  final scanner = StringScanner(source);
 
   // [Scanner.scan] tries to consume a [Pattern] and returns whether or not it
   // succeeded. It will move the scan pointer past the end of the pattern.
-  var negative = scanner.scan("-");
+  final negative = scanner.scan('-');
 
   // [Scanner.expect] consumes a [Pattern] and throws a [FormatError] if it
   // fails. Like [Scanner.scan], it will move the scan pointer forward.
-  scanner.expect(RegExp(r"\d+"));
+  scanner.expect(RegExp(r'\d+'));
 
   // [Scanner.lastMatch] holds the [MatchData] for the most recent call to
   // [Scanner.scan], [Scanner.expect], or [Scanner.matches].
   var number = num.parse(scanner.lastMatch[0]);
 
-  if (scanner.scan(".")) {
-    scanner.expect(RegExp(r"\d+"));
-    var decimal = scanner.lastMatch[0];
+  if (scanner.scan('.')) {
+    scanner.expect(RegExp(r'\d+'));
+    final decimal = scanner.lastMatch[0];
     number += int.parse(decimal) / math.pow(10, decimal.length);
   }
 
