├── README.md ├── config └── checkstyle │ └── checkstyle.xml ├── fizzbuzztask.java ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── src ├── comments │ ├── document_implementation_decisions │ │ ├── Supply.java │ │ ├── decision.template │ │ ├── problem │ │ │ └── Inventory.java │ │ └── solution │ │ │ └── Inventory.java │ ├── document_regex_using_examples │ │ ├── problem │ │ │ └── Supply.java │ │ └── solution │ │ │ └── Supply.java │ ├── remove_commented_out_code │ │ ├── problem │ │ │ └── AscendChecklist.java │ │ └── solution │ │ │ └── AscendChecklist.java │ ├── remove_superfluous_comment │ │ ├── problem │ │ │ └── Inventory.java │ │ └── solution │ │ │ └── Inventory.java │ ├── replace_comment_with_constant │ │ ├── problem │ │ │ └── SmallDistanceUnit.java │ │ └── solution │ │ │ └── SmallDistanceUnit.java │ ├── replace_comment_with_utility_method │ │ ├── problem │ │ │ └── FuelSystem.java │ │ └── solution │ │ │ └── FuelSystem.java │ ├── structure_javadoc_of_constructors │ │ ├── problem │ │ │ └── Inventory.java │ │ └── solution │ │ │ └── Inventory.java │ ├── structure_javadoc_of_interfaces_classes │ │ ├── problem │ │ │ └── CargoShip.java │ │ └── solution │ │ │ └── CargoShip.java │ ├── structure_javadoc_of_methods │ │ ├── problem │ │ │ └── CargoShip.java │ │ └── solution │ │ │ └── CargoShip.java │ └── structure_javadoc_of_packages │ │ ├── problem │ │ └── package-info.java │ │ └── solution │ │ └── package-info.java ├── design │ ├── avoid_leaking_references │ │ ├── problem │ │ │ └── Inventory.java │ │ └── solution │ │ │ └── Inventory.java │ ├── avoid_returning_null │ │ ├── problem │ │ │ └── SpaceNations.java │ │ └── solution │ │ │ └── SpaceNations.java │ ├── combine_state_and_behavior │ │ ├── problem │ │ │ └── Hull.java │ │ └── solution │ │ │ └── Hull.java │ ├── favor_abstract_over_concrete_types │ │ ├── CargoShip.java │ │ ├── problem │ │ │ └── Inventory.java │ │ └── solution │ │ │ └── Inventory.java │ ├── favor_immutable_over_mutable_state │ │ ├── DistanceUnit.java │ │ ├── problem │ │ │ └── Distance.java │ │ └── solution │ │ │ └── Distance.java │ ├── split_method_with_boolean_parameters │ │ ├── problem │ │ │ └── Logbook.java │ │ └── solution │ │ │ └── Logbook.java │ └── split_method_with_optional_parameters │ │ ├── problem │ │ └── Logbook.java │ │ └── solution │ │ └── Logbook.java ├── error_handling │ ├── always_catch_most_specific_exception │ │ ├── problem │ │ │ └── Transmission.java │ │ └── solution │ │ │ └── Transmission.java │ ├── always_check_type_before_cast │ │ ├── CrewMessage.java │ │ ├── InterCom.java │ │ ├── Signal.java │ │ ├── problem │ │ │ └── Network.java │ │ └── solution │ │ │ └── Network.java │ ├── always_close_multiple_resources │ │ ├── problem │ │ │ └── Logbook.java │ │ └── solution │ │ │ └── Logbook.java │ ├── always_close_resources │ │ ├── problem │ │ │ └── Logbook.java │ │ └── solution │ │ │ └── Logbook.java │ ├── avoid_breaking_cause_chain │ │ ├── problem │ │ │ └── Transmission.java │ │ └── solution │ │ │ └── Transmission.java │ ├── explain_cause_in_message │ │ ├── problem │ │ │ └── Transmission.java │ │ └── solution │ │ │ └── Transmission.java │ ├── explain_empty_catch │ │ ├── problem │ │ │ └── Logbook.java │ │ └── solution │ │ │ └── Logbook.java │ ├── expose_cause_in_variable │ │ ├── problem │ │ │ └── Transmission.java │ │ └── solution │ │ │ └── Transmission.java │ └── fail_fast │ │ ├── problem │ │ └── CruiseControl.java │ │ └── solution │ │ └── CruiseControl.java ├── general │ ├── CruiseControl.java │ ├── Microscope.java │ ├── Rank.java │ ├── Result.java │ ├── Sample.java │ ├── Supply.java │ ├── User.java │ ├── always_use_braces │ │ ├── problem │ │ │ └── BoardComputer.java │ │ └── solution │ │ │ └── BoardComputer.java │ ├── avoid_collection_modification_during_iteration │ │ ├── problem │ │ │ └── Inventory.java │ │ └── solution │ │ │ └── Inventory.java │ ├── avoid_leaking_references │ │ ├── problem │ │ │ └── Inventory.java │ │ └── solution │ │ │ └── Inventory.java │ ├── avoid_negations │ │ ├── problem │ │ │ └── Laboratory.java │ │ └── solution │ │ │ └── Laboratory.java │ ├── avoid_nullpointerexception_in_conditionals │ │ ├── problem │ │ │ └── Logbook.java │ │ └── solution │ │ │ └── Logbook.java │ ├── avoid_switch_fall_through │ │ ├── problem │ │ │ └── BoardComputer.java │ │ └── solution │ │ │ └── BoardComputer.java │ ├── avoid_unneccessary_comparisons │ │ ├── problem │ │ │ └── Laboratory.java │ │ └── solution │ │ │ └── Laboratory.java │ ├── compile_regex_once │ │ ├── problem │ │ │ └── Inventory.java │ │ └── solution │ │ │ └── Inventory.java │ ├── ensure_code_symmetry │ │ ├── problem │ │ │ └── BoardComputer.java │ │ └── solution │ │ │ └── BoardComputer.java │ ├── favor_abstract_over_concrete_types │ │ ├── CargoShip.java │ │ ├── problem │ │ │ └── Inventory.java │ │ └── solution │ │ │ └── Inventory.java │ ├── favor_constants_over_magic_numbers │ │ ├── problem │ │ │ └── CruiseControl.java │ │ └── solution │ │ │ └── CruiseControl.java │ ├── favor_enums_over_integer_constants │ │ ├── problem │ │ │ └── CruiseControl.java │ │ └── solution │ │ │ └── CruiseControl.java │ ├── favor_foreach_over_for │ │ ├── Commander.java │ │ ├── Status.java │ │ ├── problem │ │ │ └── AscendChecklist.java │ │ └── solution │ │ │ └── AscendChecklist.java │ ├── favor_format_over_concatenation │ │ ├── Logbook.java │ │ ├── problem │ │ │ └── Mission.java │ │ └── solution │ │ │ └── Mission.java │ ├── favor_immutable_over_mutable_state │ │ ├── DistanceUnit.java │ │ ├── problem │ │ │ └── Distance.java │ │ └── solution │ │ │ └── Distance.java │ ├── favor_java_api_over_diy │ │ ├── problem │ │ │ └── Inventory.java │ │ └── solution │ │ │ └── Inventory.java │ ├── group_with_new_lines │ │ ├── problem │ │ │ └── DistanceUnit.java │ │ └── solution │ │ │ └── DistanceUnit.java │ ├── replace_magic_numbers_with_constant │ │ ├── problem │ │ │ └── CruiseControl.java │ │ └── solution │ │ │ └── CruiseControl.java │ ├── return_boolean_expression_directly │ │ ├── problem │ │ │ └── Astronaut.java │ │ └── solution │ │ │ └── Astronaut.java │ ├── simplify_boolean_expressions │ │ ├── Crew.java │ │ ├── FuelTank.java │ │ ├── Hull.java │ │ ├── Navigator.java │ │ ├── OxygenTank.java │ │ ├── problem │ │ │ └── SpaceShip.java │ │ └── solution │ │ │ └── SpaceShip.java │ ├── split_method_with_boolean_parameters │ │ ├── problem │ │ │ └── Logbook.java │ │ └── solution │ │ │ └── Logbook.java │ └── split_method_with_optional_parameters │ │ ├── problem │ │ └── Logbook.java │ │ └── solution │ │ └── Logbook.java ├── lambdas │ ├── avoid_exceptions_in_streams │ │ ├── problem │ │ │ └── Test.java │ │ └── solution │ │ │ └── Test.java │ ├── avoid_optional_fields_or_parameters │ │ ├── problem │ │ │ └── Communicator.java │ │ └── solution │ │ │ └── Communicator.java │ ├── avoid_side_effects │ │ ├── problem │ │ │ └── Test.java │ │ └── solution │ │ │ └── Test.java │ ├── favor_functional_over_imperative_style │ │ ├── problem │ │ │ └── Test.java │ │ └── solution │ │ │ └── Test.java │ ├── favor_lambdas_over_anonymous_classes │ │ ├── problem │ │ │ └── Test.java │ │ └── solution │ │ │ └── Test.java │ ├── favor_method_references_over_lambdas │ │ ├── problem │ │ │ └── Test.java │ │ └── solution │ │ │ └── Test.java │ ├── favor_optional_over_null │ │ ├── problem │ │ │ └── Communicator.java │ │ └── solution │ │ │ └── Communicator.java │ ├── handle_exceptions_in_streams │ │ ├── problem │ │ │ └── Test.java │ │ └── solution │ │ │ └── Test.java │ ├── use_collect_for_terminating_complex_streams │ │ ├── problem │ │ │ └── Test.java │ │ └── solution │ │ │ └── Test.java │ └── use_optionals_as_streams │ │ ├── problem │ │ └── Communicator.java │ │ └── solution │ │ └── Communicator.java ├── naming │ ├── avoid_abbreviations │ │ ├── problem │ │ │ └── Logbook.java │ │ └── solution │ │ │ └── Logbook.java │ ├── avoid_meaningless_words │ │ ├── problem │ │ │ └── MainSpaceShipManager.java │ │ └── solution │ │ │ └── SpaceShip.java │ ├── avoid_single_letter_names │ │ ├── problem │ │ │ └── Inventory.java │ │ └── solution │ │ │ └── Inventory.java │ ├── follow_getter_setter_conventions_for_frameworks │ │ ├── problem │ │ │ └── Astronaut.java │ │ └── solution │ │ │ └── Astronaut.java │ ├── use_domain_terminology │ │ ├── problem │ │ │ └── Problem.java │ │ └── solution │ │ │ └── Solution.java │ ├── use_exact_method_names │ │ ├── problem │ │ │ └── Voucher.java │ │ └── solution │ │ │ └── Voucher.java │ └── use_java_naming_conventions │ │ ├── problem │ │ └── Problem.java │ │ └── solution │ │ └── Solution.java ├── preface │ └── intro │ │ ├── problem │ │ └── HelloWorld.java │ │ └── solution │ │ └── HelloWorld.java ├── realworld │ ├── favor_logging_over_console_output │ │ ├── problem │ │ │ └── Test.java │ │ └── solution │ │ │ └── Test.java │ ├── speed_up_your_program │ │ ├── problem │ │ │ └── Test.java │ │ └── solution │ │ │ └── Test.java │ └── validate_your_data │ │ ├── problem │ │ └── Test.java │ │ └── solution │ │ └── Test.java └── testing │ ├── Calculator.java │ ├── Counter.java │ ├── OxygenTank.java │ ├── cover_the_edge_cases │ ├── Transmission.java │ ├── TransmissionParser.java │ ├── problem │ │ └── TransmissionParserTest.java │ └── solution │ │ └── TransmissionParserTest.java │ ├── describe_tests │ ├── problem │ │ └── OxygenTankTest.java │ └── solution │ │ └── OxygenTankTest.java │ ├── expected_before_actual_value │ ├── CruiseControl.java │ ├── SpeedPreset.java │ ├── problem │ │ └── CruiseControlTest.java │ └── solution │ │ └── CruiseControlTest.java │ ├── favor_assert_true_over_assert_equals_for_booleans │ ├── Coupon.java │ ├── Hull.java │ ├── problem │ │ └── HullTest.java │ └── solution │ │ └── HullTest.java │ ├── favor_standalone_tests │ ├── problem │ │ └── OxygenTankTest.java │ └── solution │ │ └── OxygenTankTest.java │ ├── let_junit_handle_exceptions │ ├── Logbook.java │ ├── problem │ │ └── LogbookTest.java │ └── solution │ │ └── LogbookTest.java │ ├── parametrize_your_tests │ ├── Distance.java │ ├── problem │ │ └── DistanceConversionTest.java │ └── solution │ │ └── DistanceConversionTest.java │ ├── structure_tests_into_given_when_then │ ├── problem │ │ └── CruiseControlTest.java │ └── solution │ │ └── CruiseControlTest.java │ ├── use_meaningful_assertions │ ├── problem │ │ └── CruiseControlTest.java │ └── solution │ │ └── CruiseControlTest.java │ └── use_sensible_tolerance_values │ ├── problem │ └── OxygenTankTest.java │ └── solution │ └── OxygenTankTest.java └── test └── ConsistencyChecks.java /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/README.md -------------------------------------------------------------------------------- /config/checkstyle/checkstyle.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/config/checkstyle/checkstyle.xml -------------------------------------------------------------------------------- /fizzbuzztask.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/fizzbuzztask.java -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/gradlew.bat -------------------------------------------------------------------------------- /src/comments/document_implementation_decisions/Supply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/document_implementation_decisions/Supply.java -------------------------------------------------------------------------------- /src/comments/document_implementation_decisions/decision.template: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/document_implementation_decisions/decision.template -------------------------------------------------------------------------------- /src/comments/document_implementation_decisions/problem/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/document_implementation_decisions/problem/Inventory.java -------------------------------------------------------------------------------- /src/comments/document_implementation_decisions/solution/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/document_implementation_decisions/solution/Inventory.java -------------------------------------------------------------------------------- /src/comments/document_regex_using_examples/problem/Supply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/document_regex_using_examples/problem/Supply.java -------------------------------------------------------------------------------- /src/comments/document_regex_using_examples/solution/Supply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/document_regex_using_examples/solution/Supply.java -------------------------------------------------------------------------------- /src/comments/remove_commented_out_code/problem/AscendChecklist.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/remove_commented_out_code/problem/AscendChecklist.java -------------------------------------------------------------------------------- /src/comments/remove_commented_out_code/solution/AscendChecklist.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/remove_commented_out_code/solution/AscendChecklist.java -------------------------------------------------------------------------------- /src/comments/remove_superfluous_comment/problem/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/remove_superfluous_comment/problem/Inventory.java -------------------------------------------------------------------------------- /src/comments/remove_superfluous_comment/solution/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/remove_superfluous_comment/solution/Inventory.java -------------------------------------------------------------------------------- /src/comments/replace_comment_with_constant/problem/SmallDistanceUnit.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/replace_comment_with_constant/problem/SmallDistanceUnit.java -------------------------------------------------------------------------------- /src/comments/replace_comment_with_constant/solution/SmallDistanceUnit.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/replace_comment_with_constant/solution/SmallDistanceUnit.java -------------------------------------------------------------------------------- /src/comments/replace_comment_with_utility_method/problem/FuelSystem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/replace_comment_with_utility_method/problem/FuelSystem.java -------------------------------------------------------------------------------- /src/comments/replace_comment_with_utility_method/solution/FuelSystem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/replace_comment_with_utility_method/solution/FuelSystem.java -------------------------------------------------------------------------------- /src/comments/structure_javadoc_of_constructors/problem/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/structure_javadoc_of_constructors/problem/Inventory.java -------------------------------------------------------------------------------- /src/comments/structure_javadoc_of_constructors/solution/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/structure_javadoc_of_constructors/solution/Inventory.java -------------------------------------------------------------------------------- /src/comments/structure_javadoc_of_interfaces_classes/problem/CargoShip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/structure_javadoc_of_interfaces_classes/problem/CargoShip.java -------------------------------------------------------------------------------- /src/comments/structure_javadoc_of_interfaces_classes/solution/CargoShip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/structure_javadoc_of_interfaces_classes/solution/CargoShip.java -------------------------------------------------------------------------------- /src/comments/structure_javadoc_of_methods/problem/CargoShip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/structure_javadoc_of_methods/problem/CargoShip.java -------------------------------------------------------------------------------- /src/comments/structure_javadoc_of_methods/solution/CargoShip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/structure_javadoc_of_methods/solution/CargoShip.java -------------------------------------------------------------------------------- /src/comments/structure_javadoc_of_packages/problem/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/structure_javadoc_of_packages/problem/package-info.java -------------------------------------------------------------------------------- /src/comments/structure_javadoc_of_packages/solution/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/comments/structure_javadoc_of_packages/solution/package-info.java -------------------------------------------------------------------------------- /src/design/avoid_leaking_references/problem/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/avoid_leaking_references/problem/Inventory.java -------------------------------------------------------------------------------- /src/design/avoid_leaking_references/solution/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/avoid_leaking_references/solution/Inventory.java -------------------------------------------------------------------------------- /src/design/avoid_returning_null/problem/SpaceNations.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/avoid_returning_null/problem/SpaceNations.java -------------------------------------------------------------------------------- /src/design/avoid_returning_null/solution/SpaceNations.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/avoid_returning_null/solution/SpaceNations.java -------------------------------------------------------------------------------- /src/design/combine_state_and_behavior/problem/Hull.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/combine_state_and_behavior/problem/Hull.java -------------------------------------------------------------------------------- /src/design/combine_state_and_behavior/solution/Hull.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/combine_state_and_behavior/solution/Hull.java -------------------------------------------------------------------------------- /src/design/favor_abstract_over_concrete_types/CargoShip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/favor_abstract_over_concrete_types/CargoShip.java -------------------------------------------------------------------------------- /src/design/favor_abstract_over_concrete_types/problem/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/favor_abstract_over_concrete_types/problem/Inventory.java -------------------------------------------------------------------------------- /src/design/favor_abstract_over_concrete_types/solution/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/favor_abstract_over_concrete_types/solution/Inventory.java -------------------------------------------------------------------------------- /src/design/favor_immutable_over_mutable_state/DistanceUnit.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/favor_immutable_over_mutable_state/DistanceUnit.java -------------------------------------------------------------------------------- /src/design/favor_immutable_over_mutable_state/problem/Distance.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/favor_immutable_over_mutable_state/problem/Distance.java -------------------------------------------------------------------------------- /src/design/favor_immutable_over_mutable_state/solution/Distance.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/favor_immutable_over_mutable_state/solution/Distance.java -------------------------------------------------------------------------------- /src/design/split_method_with_boolean_parameters/problem/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/split_method_with_boolean_parameters/problem/Logbook.java -------------------------------------------------------------------------------- /src/design/split_method_with_boolean_parameters/solution/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/split_method_with_boolean_parameters/solution/Logbook.java -------------------------------------------------------------------------------- /src/design/split_method_with_optional_parameters/problem/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/split_method_with_optional_parameters/problem/Logbook.java -------------------------------------------------------------------------------- /src/design/split_method_with_optional_parameters/solution/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/design/split_method_with_optional_parameters/solution/Logbook.java -------------------------------------------------------------------------------- /src/error_handling/always_catch_most_specific_exception/problem/Transmission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/always_catch_most_specific_exception/problem/Transmission.java -------------------------------------------------------------------------------- /src/error_handling/always_catch_most_specific_exception/solution/Transmission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/always_catch_most_specific_exception/solution/Transmission.java -------------------------------------------------------------------------------- /src/error_handling/always_check_type_before_cast/CrewMessage.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/always_check_type_before_cast/CrewMessage.java -------------------------------------------------------------------------------- /src/error_handling/always_check_type_before_cast/InterCom.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/always_check_type_before_cast/InterCom.java -------------------------------------------------------------------------------- /src/error_handling/always_check_type_before_cast/Signal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/always_check_type_before_cast/Signal.java -------------------------------------------------------------------------------- /src/error_handling/always_check_type_before_cast/problem/Network.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/always_check_type_before_cast/problem/Network.java -------------------------------------------------------------------------------- /src/error_handling/always_check_type_before_cast/solution/Network.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/always_check_type_before_cast/solution/Network.java -------------------------------------------------------------------------------- /src/error_handling/always_close_multiple_resources/problem/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/always_close_multiple_resources/problem/Logbook.java -------------------------------------------------------------------------------- /src/error_handling/always_close_multiple_resources/solution/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/always_close_multiple_resources/solution/Logbook.java -------------------------------------------------------------------------------- /src/error_handling/always_close_resources/problem/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/always_close_resources/problem/Logbook.java -------------------------------------------------------------------------------- /src/error_handling/always_close_resources/solution/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/always_close_resources/solution/Logbook.java -------------------------------------------------------------------------------- /src/error_handling/avoid_breaking_cause_chain/problem/Transmission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/avoid_breaking_cause_chain/problem/Transmission.java -------------------------------------------------------------------------------- /src/error_handling/avoid_breaking_cause_chain/solution/Transmission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/avoid_breaking_cause_chain/solution/Transmission.java -------------------------------------------------------------------------------- /src/error_handling/explain_cause_in_message/problem/Transmission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/explain_cause_in_message/problem/Transmission.java -------------------------------------------------------------------------------- /src/error_handling/explain_cause_in_message/solution/Transmission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/explain_cause_in_message/solution/Transmission.java -------------------------------------------------------------------------------- /src/error_handling/explain_empty_catch/problem/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/explain_empty_catch/problem/Logbook.java -------------------------------------------------------------------------------- /src/error_handling/explain_empty_catch/solution/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/explain_empty_catch/solution/Logbook.java -------------------------------------------------------------------------------- /src/error_handling/expose_cause_in_variable/problem/Transmission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/expose_cause_in_variable/problem/Transmission.java -------------------------------------------------------------------------------- /src/error_handling/expose_cause_in_variable/solution/Transmission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/expose_cause_in_variable/solution/Transmission.java -------------------------------------------------------------------------------- /src/error_handling/fail_fast/problem/CruiseControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/fail_fast/problem/CruiseControl.java -------------------------------------------------------------------------------- /src/error_handling/fail_fast/solution/CruiseControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/error_handling/fail_fast/solution/CruiseControl.java -------------------------------------------------------------------------------- /src/general/CruiseControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/CruiseControl.java -------------------------------------------------------------------------------- /src/general/Microscope.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/Microscope.java -------------------------------------------------------------------------------- /src/general/Rank.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/Rank.java -------------------------------------------------------------------------------- /src/general/Result.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/Result.java -------------------------------------------------------------------------------- /src/general/Sample.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/Sample.java -------------------------------------------------------------------------------- /src/general/Supply.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/Supply.java -------------------------------------------------------------------------------- /src/general/User.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/User.java -------------------------------------------------------------------------------- /src/general/always_use_braces/problem/BoardComputer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/always_use_braces/problem/BoardComputer.java -------------------------------------------------------------------------------- /src/general/always_use_braces/solution/BoardComputer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/always_use_braces/solution/BoardComputer.java -------------------------------------------------------------------------------- /src/general/avoid_collection_modification_during_iteration/problem/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/avoid_collection_modification_during_iteration/problem/Inventory.java -------------------------------------------------------------------------------- /src/general/avoid_collection_modification_during_iteration/solution/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/avoid_collection_modification_during_iteration/solution/Inventory.java -------------------------------------------------------------------------------- /src/general/avoid_leaking_references/problem/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/avoid_leaking_references/problem/Inventory.java -------------------------------------------------------------------------------- /src/general/avoid_leaking_references/solution/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/avoid_leaking_references/solution/Inventory.java -------------------------------------------------------------------------------- /src/general/avoid_negations/problem/Laboratory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/avoid_negations/problem/Laboratory.java -------------------------------------------------------------------------------- /src/general/avoid_negations/solution/Laboratory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/avoid_negations/solution/Laboratory.java -------------------------------------------------------------------------------- /src/general/avoid_nullpointerexception_in_conditionals/problem/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/avoid_nullpointerexception_in_conditionals/problem/Logbook.java -------------------------------------------------------------------------------- /src/general/avoid_nullpointerexception_in_conditionals/solution/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/avoid_nullpointerexception_in_conditionals/solution/Logbook.java -------------------------------------------------------------------------------- /src/general/avoid_switch_fall_through/problem/BoardComputer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/avoid_switch_fall_through/problem/BoardComputer.java -------------------------------------------------------------------------------- /src/general/avoid_switch_fall_through/solution/BoardComputer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/avoid_switch_fall_through/solution/BoardComputer.java -------------------------------------------------------------------------------- /src/general/avoid_unneccessary_comparisons/problem/Laboratory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/avoid_unneccessary_comparisons/problem/Laboratory.java -------------------------------------------------------------------------------- /src/general/avoid_unneccessary_comparisons/solution/Laboratory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/avoid_unneccessary_comparisons/solution/Laboratory.java -------------------------------------------------------------------------------- /src/general/compile_regex_once/problem/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/compile_regex_once/problem/Inventory.java -------------------------------------------------------------------------------- /src/general/compile_regex_once/solution/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/compile_regex_once/solution/Inventory.java -------------------------------------------------------------------------------- /src/general/ensure_code_symmetry/problem/BoardComputer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/ensure_code_symmetry/problem/BoardComputer.java -------------------------------------------------------------------------------- /src/general/ensure_code_symmetry/solution/BoardComputer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/ensure_code_symmetry/solution/BoardComputer.java -------------------------------------------------------------------------------- /src/general/favor_abstract_over_concrete_types/CargoShip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_abstract_over_concrete_types/CargoShip.java -------------------------------------------------------------------------------- /src/general/favor_abstract_over_concrete_types/problem/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_abstract_over_concrete_types/problem/Inventory.java -------------------------------------------------------------------------------- /src/general/favor_abstract_over_concrete_types/solution/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_abstract_over_concrete_types/solution/Inventory.java -------------------------------------------------------------------------------- /src/general/favor_constants_over_magic_numbers/problem/CruiseControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_constants_over_magic_numbers/problem/CruiseControl.java -------------------------------------------------------------------------------- /src/general/favor_constants_over_magic_numbers/solution/CruiseControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_constants_over_magic_numbers/solution/CruiseControl.java -------------------------------------------------------------------------------- /src/general/favor_enums_over_integer_constants/problem/CruiseControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_enums_over_integer_constants/problem/CruiseControl.java -------------------------------------------------------------------------------- /src/general/favor_enums_over_integer_constants/solution/CruiseControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_enums_over_integer_constants/solution/CruiseControl.java -------------------------------------------------------------------------------- /src/general/favor_foreach_over_for/Commander.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_foreach_over_for/Commander.java -------------------------------------------------------------------------------- /src/general/favor_foreach_over_for/Status.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_foreach_over_for/Status.java -------------------------------------------------------------------------------- /src/general/favor_foreach_over_for/problem/AscendChecklist.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_foreach_over_for/problem/AscendChecklist.java -------------------------------------------------------------------------------- /src/general/favor_foreach_over_for/solution/AscendChecklist.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_foreach_over_for/solution/AscendChecklist.java -------------------------------------------------------------------------------- /src/general/favor_format_over_concatenation/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_format_over_concatenation/Logbook.java -------------------------------------------------------------------------------- /src/general/favor_format_over_concatenation/problem/Mission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_format_over_concatenation/problem/Mission.java -------------------------------------------------------------------------------- /src/general/favor_format_over_concatenation/solution/Mission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_format_over_concatenation/solution/Mission.java -------------------------------------------------------------------------------- /src/general/favor_immutable_over_mutable_state/DistanceUnit.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_immutable_over_mutable_state/DistanceUnit.java -------------------------------------------------------------------------------- /src/general/favor_immutable_over_mutable_state/problem/Distance.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_immutable_over_mutable_state/problem/Distance.java -------------------------------------------------------------------------------- /src/general/favor_immutable_over_mutable_state/solution/Distance.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_immutable_over_mutable_state/solution/Distance.java -------------------------------------------------------------------------------- /src/general/favor_java_api_over_diy/problem/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_java_api_over_diy/problem/Inventory.java -------------------------------------------------------------------------------- /src/general/favor_java_api_over_diy/solution/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/favor_java_api_over_diy/solution/Inventory.java -------------------------------------------------------------------------------- /src/general/group_with_new_lines/problem/DistanceUnit.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/group_with_new_lines/problem/DistanceUnit.java -------------------------------------------------------------------------------- /src/general/group_with_new_lines/solution/DistanceUnit.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/group_with_new_lines/solution/DistanceUnit.java -------------------------------------------------------------------------------- /src/general/replace_magic_numbers_with_constant/problem/CruiseControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/replace_magic_numbers_with_constant/problem/CruiseControl.java -------------------------------------------------------------------------------- /src/general/replace_magic_numbers_with_constant/solution/CruiseControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/replace_magic_numbers_with_constant/solution/CruiseControl.java -------------------------------------------------------------------------------- /src/general/return_boolean_expression_directly/problem/Astronaut.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/return_boolean_expression_directly/problem/Astronaut.java -------------------------------------------------------------------------------- /src/general/return_boolean_expression_directly/solution/Astronaut.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/return_boolean_expression_directly/solution/Astronaut.java -------------------------------------------------------------------------------- /src/general/simplify_boolean_expressions/Crew.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/simplify_boolean_expressions/Crew.java -------------------------------------------------------------------------------- /src/general/simplify_boolean_expressions/FuelTank.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/simplify_boolean_expressions/FuelTank.java -------------------------------------------------------------------------------- /src/general/simplify_boolean_expressions/Hull.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/simplify_boolean_expressions/Hull.java -------------------------------------------------------------------------------- /src/general/simplify_boolean_expressions/Navigator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/simplify_boolean_expressions/Navigator.java -------------------------------------------------------------------------------- /src/general/simplify_boolean_expressions/OxygenTank.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/simplify_boolean_expressions/OxygenTank.java -------------------------------------------------------------------------------- /src/general/simplify_boolean_expressions/problem/SpaceShip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/simplify_boolean_expressions/problem/SpaceShip.java -------------------------------------------------------------------------------- /src/general/simplify_boolean_expressions/solution/SpaceShip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/simplify_boolean_expressions/solution/SpaceShip.java -------------------------------------------------------------------------------- /src/general/split_method_with_boolean_parameters/problem/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/split_method_with_boolean_parameters/problem/Logbook.java -------------------------------------------------------------------------------- /src/general/split_method_with_boolean_parameters/solution/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/split_method_with_boolean_parameters/solution/Logbook.java -------------------------------------------------------------------------------- /src/general/split_method_with_optional_parameters/problem/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/split_method_with_optional_parameters/problem/Logbook.java -------------------------------------------------------------------------------- /src/general/split_method_with_optional_parameters/solution/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/general/split_method_with_optional_parameters/solution/Logbook.java -------------------------------------------------------------------------------- /src/lambdas/avoid_exceptions_in_streams/problem/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/avoid_exceptions_in_streams/problem/Test.java -------------------------------------------------------------------------------- /src/lambdas/avoid_exceptions_in_streams/solution/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/avoid_exceptions_in_streams/solution/Test.java -------------------------------------------------------------------------------- /src/lambdas/avoid_optional_fields_or_parameters/problem/Communicator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/avoid_optional_fields_or_parameters/problem/Communicator.java -------------------------------------------------------------------------------- /src/lambdas/avoid_optional_fields_or_parameters/solution/Communicator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/avoid_optional_fields_or_parameters/solution/Communicator.java -------------------------------------------------------------------------------- /src/lambdas/avoid_side_effects/problem/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/avoid_side_effects/problem/Test.java -------------------------------------------------------------------------------- /src/lambdas/avoid_side_effects/solution/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/avoid_side_effects/solution/Test.java -------------------------------------------------------------------------------- /src/lambdas/favor_functional_over_imperative_style/problem/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/favor_functional_over_imperative_style/problem/Test.java -------------------------------------------------------------------------------- /src/lambdas/favor_functional_over_imperative_style/solution/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/favor_functional_over_imperative_style/solution/Test.java -------------------------------------------------------------------------------- /src/lambdas/favor_lambdas_over_anonymous_classes/problem/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/favor_lambdas_over_anonymous_classes/problem/Test.java -------------------------------------------------------------------------------- /src/lambdas/favor_lambdas_over_anonymous_classes/solution/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/favor_lambdas_over_anonymous_classes/solution/Test.java -------------------------------------------------------------------------------- /src/lambdas/favor_method_references_over_lambdas/problem/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/favor_method_references_over_lambdas/problem/Test.java -------------------------------------------------------------------------------- /src/lambdas/favor_method_references_over_lambdas/solution/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/favor_method_references_over_lambdas/solution/Test.java -------------------------------------------------------------------------------- /src/lambdas/favor_optional_over_null/problem/Communicator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/favor_optional_over_null/problem/Communicator.java -------------------------------------------------------------------------------- /src/lambdas/favor_optional_over_null/solution/Communicator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/favor_optional_over_null/solution/Communicator.java -------------------------------------------------------------------------------- /src/lambdas/handle_exceptions_in_streams/problem/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/handle_exceptions_in_streams/problem/Test.java -------------------------------------------------------------------------------- /src/lambdas/handle_exceptions_in_streams/solution/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/handle_exceptions_in_streams/solution/Test.java -------------------------------------------------------------------------------- /src/lambdas/use_collect_for_terminating_complex_streams/problem/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/use_collect_for_terminating_complex_streams/problem/Test.java -------------------------------------------------------------------------------- /src/lambdas/use_collect_for_terminating_complex_streams/solution/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/use_collect_for_terminating_complex_streams/solution/Test.java -------------------------------------------------------------------------------- /src/lambdas/use_optionals_as_streams/problem/Communicator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/use_optionals_as_streams/problem/Communicator.java -------------------------------------------------------------------------------- /src/lambdas/use_optionals_as_streams/solution/Communicator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/lambdas/use_optionals_as_streams/solution/Communicator.java -------------------------------------------------------------------------------- /src/naming/avoid_abbreviations/problem/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/avoid_abbreviations/problem/Logbook.java -------------------------------------------------------------------------------- /src/naming/avoid_abbreviations/solution/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/avoid_abbreviations/solution/Logbook.java -------------------------------------------------------------------------------- /src/naming/avoid_meaningless_words/problem/MainSpaceShipManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/avoid_meaningless_words/problem/MainSpaceShipManager.java -------------------------------------------------------------------------------- /src/naming/avoid_meaningless_words/solution/SpaceShip.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/avoid_meaningless_words/solution/SpaceShip.java -------------------------------------------------------------------------------- /src/naming/avoid_single_letter_names/problem/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/avoid_single_letter_names/problem/Inventory.java -------------------------------------------------------------------------------- /src/naming/avoid_single_letter_names/solution/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/avoid_single_letter_names/solution/Inventory.java -------------------------------------------------------------------------------- /src/naming/follow_getter_setter_conventions_for_frameworks/problem/Astronaut.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/follow_getter_setter_conventions_for_frameworks/problem/Astronaut.java -------------------------------------------------------------------------------- /src/naming/follow_getter_setter_conventions_for_frameworks/solution/Astronaut.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/follow_getter_setter_conventions_for_frameworks/solution/Astronaut.java -------------------------------------------------------------------------------- /src/naming/use_domain_terminology/problem/Problem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/use_domain_terminology/problem/Problem.java -------------------------------------------------------------------------------- /src/naming/use_domain_terminology/solution/Solution.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/use_domain_terminology/solution/Solution.java -------------------------------------------------------------------------------- /src/naming/use_exact_method_names/problem/Voucher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/use_exact_method_names/problem/Voucher.java -------------------------------------------------------------------------------- /src/naming/use_exact_method_names/solution/Voucher.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/use_exact_method_names/solution/Voucher.java -------------------------------------------------------------------------------- /src/naming/use_java_naming_conventions/problem/Problem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/use_java_naming_conventions/problem/Problem.java -------------------------------------------------------------------------------- /src/naming/use_java_naming_conventions/solution/Solution.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/naming/use_java_naming_conventions/solution/Solution.java -------------------------------------------------------------------------------- /src/preface/intro/problem/HelloWorld.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/preface/intro/problem/HelloWorld.java -------------------------------------------------------------------------------- /src/preface/intro/solution/HelloWorld.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/preface/intro/solution/HelloWorld.java -------------------------------------------------------------------------------- /src/realworld/favor_logging_over_console_output/problem/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/realworld/favor_logging_over_console_output/problem/Test.java -------------------------------------------------------------------------------- /src/realworld/favor_logging_over_console_output/solution/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/realworld/favor_logging_over_console_output/solution/Test.java -------------------------------------------------------------------------------- /src/realworld/speed_up_your_program/problem/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/realworld/speed_up_your_program/problem/Test.java -------------------------------------------------------------------------------- /src/realworld/speed_up_your_program/solution/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/realworld/speed_up_your_program/solution/Test.java -------------------------------------------------------------------------------- /src/realworld/validate_your_data/problem/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/realworld/validate_your_data/problem/Test.java -------------------------------------------------------------------------------- /src/realworld/validate_your_data/solution/Test.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/realworld/validate_your_data/solution/Test.java -------------------------------------------------------------------------------- /src/testing/Calculator.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/Calculator.java -------------------------------------------------------------------------------- /src/testing/Counter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/Counter.java -------------------------------------------------------------------------------- /src/testing/OxygenTank.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/OxygenTank.java -------------------------------------------------------------------------------- /src/testing/cover_the_edge_cases/Transmission.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/cover_the_edge_cases/Transmission.java -------------------------------------------------------------------------------- /src/testing/cover_the_edge_cases/TransmissionParser.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/cover_the_edge_cases/TransmissionParser.java -------------------------------------------------------------------------------- /src/testing/cover_the_edge_cases/problem/TransmissionParserTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/cover_the_edge_cases/problem/TransmissionParserTest.java -------------------------------------------------------------------------------- /src/testing/cover_the_edge_cases/solution/TransmissionParserTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/cover_the_edge_cases/solution/TransmissionParserTest.java -------------------------------------------------------------------------------- /src/testing/describe_tests/problem/OxygenTankTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/describe_tests/problem/OxygenTankTest.java -------------------------------------------------------------------------------- /src/testing/describe_tests/solution/OxygenTankTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/describe_tests/solution/OxygenTankTest.java -------------------------------------------------------------------------------- /src/testing/expected_before_actual_value/CruiseControl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/expected_before_actual_value/CruiseControl.java -------------------------------------------------------------------------------- /src/testing/expected_before_actual_value/SpeedPreset.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/expected_before_actual_value/SpeedPreset.java -------------------------------------------------------------------------------- /src/testing/expected_before_actual_value/problem/CruiseControlTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/expected_before_actual_value/problem/CruiseControlTest.java -------------------------------------------------------------------------------- /src/testing/expected_before_actual_value/solution/CruiseControlTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/expected_before_actual_value/solution/CruiseControlTest.java -------------------------------------------------------------------------------- /src/testing/favor_assert_true_over_assert_equals_for_booleans/Coupon.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/favor_assert_true_over_assert_equals_for_booleans/Coupon.java -------------------------------------------------------------------------------- /src/testing/favor_assert_true_over_assert_equals_for_booleans/Hull.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/favor_assert_true_over_assert_equals_for_booleans/Hull.java -------------------------------------------------------------------------------- /src/testing/favor_assert_true_over_assert_equals_for_booleans/problem/HullTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/favor_assert_true_over_assert_equals_for_booleans/problem/HullTest.java -------------------------------------------------------------------------------- /src/testing/favor_assert_true_over_assert_equals_for_booleans/solution/HullTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/favor_assert_true_over_assert_equals_for_booleans/solution/HullTest.java -------------------------------------------------------------------------------- /src/testing/favor_standalone_tests/problem/OxygenTankTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/favor_standalone_tests/problem/OxygenTankTest.java -------------------------------------------------------------------------------- /src/testing/favor_standalone_tests/solution/OxygenTankTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/favor_standalone_tests/solution/OxygenTankTest.java -------------------------------------------------------------------------------- /src/testing/let_junit_handle_exceptions/Logbook.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/let_junit_handle_exceptions/Logbook.java -------------------------------------------------------------------------------- /src/testing/let_junit_handle_exceptions/problem/LogbookTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/let_junit_handle_exceptions/problem/LogbookTest.java -------------------------------------------------------------------------------- /src/testing/let_junit_handle_exceptions/solution/LogbookTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/let_junit_handle_exceptions/solution/LogbookTest.java -------------------------------------------------------------------------------- /src/testing/parametrize_your_tests/Distance.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/parametrize_your_tests/Distance.java -------------------------------------------------------------------------------- /src/testing/parametrize_your_tests/problem/DistanceConversionTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/parametrize_your_tests/problem/DistanceConversionTest.java -------------------------------------------------------------------------------- /src/testing/parametrize_your_tests/solution/DistanceConversionTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/parametrize_your_tests/solution/DistanceConversionTest.java -------------------------------------------------------------------------------- /src/testing/structure_tests_into_given_when_then/problem/CruiseControlTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/structure_tests_into_given_when_then/problem/CruiseControlTest.java -------------------------------------------------------------------------------- /src/testing/structure_tests_into_given_when_then/solution/CruiseControlTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/structure_tests_into_given_when_then/solution/CruiseControlTest.java -------------------------------------------------------------------------------- /src/testing/use_meaningful_assertions/problem/CruiseControlTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/use_meaningful_assertions/problem/CruiseControlTest.java -------------------------------------------------------------------------------- /src/testing/use_meaningful_assertions/solution/CruiseControlTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/use_meaningful_assertions/solution/CruiseControlTest.java -------------------------------------------------------------------------------- /src/testing/use_sensible_tolerance_values/problem/OxygenTankTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/use_sensible_tolerance_values/problem/OxygenTankTest.java -------------------------------------------------------------------------------- /src/testing/use_sensible_tolerance_values/solution/OxygenTankTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/src/testing/use_sensible_tolerance_values/solution/OxygenTankTest.java -------------------------------------------------------------------------------- /test/ConsistencyChecks.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/gilbutITbook/007025/HEAD/test/ConsistencyChecks.java --------------------------------------------------------------------------------