about summary refs log tree commit diff
path: root/usth/ICT2.7/P4L5 Software Refactoring Subtitles/14 - Extract Method - lang_en_vs4.srt
diff options
context:
space:
mode:
Diffstat (limited to 'usth/ICT2.7/P4L5 Software Refactoring Subtitles/14 - Extract Method - lang_en_vs4.srt')
-rw-r--r--usth/ICT2.7/P4L5 Software Refactoring Subtitles/14 - Extract Method - lang_en_vs4.srt163
1 files changed, 163 insertions, 0 deletions
diff --git a/usth/ICT2.7/P4L5 Software Refactoring Subtitles/14 - Extract Method - lang_en_vs4.srt b/usth/ICT2.7/P4L5 Software Refactoring Subtitles/14 - Extract Method - lang_en_vs4.srt
new file mode 100644
index 0000000..88769e0
--- /dev/null
+++ b/usth/ICT2.7/P4L5 Software Refactoring Subtitles/14 - Extract Method - lang_en_vs4.srt
@@ -0,0 +1,163 @@
+1

+00:00:00,060 --> 00:00:02,406

+The next re-factoring which is also the last one that we'll

+

+2

+00:00:02,406 --> 00:00:05,640

+see, extract method is one of the most commonly used re-factoring. As

+

+3

+00:00:05,640 --> 00:00:09,080

+it is applicable in many, many situations. The starting point is

+

+4

+00:00:09,080 --> 00:00:12,720

+a method that is too long and contains cohesive code fragments, that

+

+5

+00:00:12,720 --> 00:00:16,180

+really serve a single very specific purpose. So we start from

+

+6

+00:00:16,180 --> 00:00:19,270

+a cohesive code fragment in a large method. What we can do

+

+7

+00:00:19,270 --> 00:00:22,370

+in this case, is to create a method using that code fragment.

+

+8

+00:00:22,370 --> 00:00:25,620

+And then replacing the code fragment with a call to that method.

+

+9

+00:00:25,620 --> 00:00:28,390

+Let's look at this with an example. Here over this method called

+

+10

+00:00:28,390 --> 00:00:31,070

+print owing, and what it does, imagine that it does a lot

+

+11

+00:00:31,070 --> 00:00:33,850

+of operations here that I'm just not listing, and then it's got

+

+12

+00:00:33,850 --> 00:00:37,620

+a set of print statements. That are just printing a lot of details

+

+13

+00:00:37,620 --> 00:00:41,280

+about the owing information. And then again, a lot of code after

+

+14

+00:00:41,280 --> 00:00:44,270

+that. So what I could do in this case to simplify. The

+

+15

+00:00:44,270 --> 00:00:47,940

+method is to transform this set of statements. They are cohesive in

+

+16

+00:00:47,940 --> 00:00:51,120

+the sense that they do just one thing, they just print these details

+

+17

+00:00:51,120 --> 00:00:53,890

+into a method, and then I had, replace the statements with a

+

+18

+00:00:53,890 --> 00:00:56,740

+call to that method. Which is actually something similar to what we did

+

+19

+00:00:56,740 --> 00:00:59,900

+as part of some the previous re-factoring's. Here I'm showing the result.

+

+20

+00:00:59,900 --> 00:01:02,770

+So here is the method that I extracted. As you can see. It

+

+21

+00:01:02,770 --> 00:01:05,790

+contains the code that was previously here. I give you the meaningful

+

+22

+00:01:05,790 --> 00:01:09,080

+name, I called it printDetails so it's clear what it does. And now

+

+23

+00:01:09,080 --> 00:01:12,820

+the print owning method is simpler. Because I still have the remaining code

+

+24

+00:01:12,820 --> 00:01:17,200

+the one I didn't touch. But now this potentially long list of details.

+

+25

+00:01:17,200 --> 00:01:20,560

+Of prints, of details is not replaced by a single method code.

+

+26

+00:01:20,560 --> 00:01:23,550

+So a gain similar to the previous refactorings that we saw. If

+

+27

+00:01:23,550 --> 00:01:26,370

+we just look at the printing method, it's very easy to figure

+

+28

+00:01:26,370 --> 00:01:29,490

+out what this part does. Oh, print some details. And once more I

+

+29

+00:01:29,490 --> 00:01:33,060

+really want to stress this. If you don't care about how, this

+

+30

+00:01:33,060 --> 00:01:36,350

+is implemented and knowing that this print some details is enough. Then

+

+31

+00:01:36,350 --> 00:01:38,980

+you're done. You don't need to understand anything more. It's clear, it's

+

+32

+00:01:38,980 --> 00:01:42,430

+self explanatory. And if you'll need to look at what print details does,

+

+33

+00:01:42,430 --> 00:01:44,390

+you just go and look at print details. And you look at

+

+34

+00:01:44,390 --> 00:01:47,280

+it in isolation. So it's easier to understand what this does without having

+

+35

+00:01:47,280 --> 00:01:49,640

+to think the rest of the code. So once more the color we

+

+36

+00:01:49,640 --> 00:01:52,740

+factor in is just to improve your design, made the code more readable

+

+37

+00:01:52,740 --> 00:01:56,020

+Make the code more maintainable. And also keep in mind all of these,

+

+38

+00:01:56,020 --> 00:01:59,080

+are kind of small examples. You also always have to think about the

+

+39

+00:01:59,080 --> 00:02:02,560

+effect that this can have on larger codebases. It can really improve a

+

+40

+00:02:02,560 --> 00:02:05,280

+lot. The understandabililty, and maintainability of

+

+41

+00:02:05,280 --> 00:02:07,220

+your code. So in general, it's design.