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

+00:00:00,150 --> 00:00:02,520

+Now that we saw a number of refactorings, we also saw

+

+2

+00:00:02,520 --> 00:00:05,950

+how refactorings can be performed automatically within an ID, I'd like

+

+3

+00:00:05,950 --> 00:00:09,230

+to make you aware of some risks involved with the user

+

+4

+00:00:09,230 --> 00:00:12,510

+refactorings. Refactorings are a very powerful tool, but you also have to

+

+5

+00:00:12,510 --> 00:00:15,820

+be careful, first of all when you do more complex refactorings,

+

+6

+00:00:15,820 --> 00:00:18,540

+you may also introduce subtle faults. What, we don't really call

+

+7

+00:00:18,540 --> 00:00:21,040

+regression errors. You might change something in the class. You might

+

+8

+00:00:21,040 --> 00:00:23,140

+think that that's a behavior preserving

+

+9

+00:00:23,140 --> 00:00:25,200

+transformation when considering the whole code,

+

+10

+00:00:25,200 --> 00:00:27,860

+and instead your change is affecting the behavior of some of the

+

+11

+00:00:27,860 --> 00:00:30,980

+other parts of the code. So, it's introducing a regression that will cause

+

+12

+00:00:30,980 --> 00:00:32,670

+some other functionality, some other piece

+

+13

+00:00:32,670 --> 00:00:34,320

+of functionality some other feature, to

+

+14

+00:00:34,320 --> 00:00:37,190

+work incorrectly. So you always have to be careful, and as we saw

+

+15

+00:00:37,190 --> 00:00:39,750

+at the beginning one way to avoid that is to run tests.

+

+16

+00:00:39,750 --> 00:00:43,080

+Every time you make a refactoring every time you change your code and

+

+17

+00:00:43,080 --> 00:00:46,280

+refactor your code. So is to get the least some confidence in

+

+18

+00:00:46,280 --> 00:00:47,540

+the fact that your refactoring is

+

+19

+00:00:47,540 --> 00:00:50,290

+indeed behavior preserving. Also consider the refactoring

+

+20

+00:00:50,290 --> 00:00:54,680

+should not. Be abused. Refactoring should be performed when it's needed. It's

+

+21

+00:00:54,680 --> 00:00:57,570

+useful to improve the design of your code when you see problems

+

+22

+00:00:57,570 --> 00:00:59,680

+with the design of the code. Shouldn't just be applied for the

+

+23

+00:00:59,680 --> 00:01:02,720

+final code because you can apply, for example, easily within a tool.

+

+24

+00:01:02,720 --> 00:01:06,030

+So be careful not over doing it when you refactor. And for

+

+25

+00:01:06,030 --> 00:01:08,310

+the same reason that we mentioned at the beginning, you should be

+

+26

+00:01:08,310 --> 00:01:10,600

+particularly careful when you're using refactoring

+

+27

+00:01:10,600 --> 00:01:12,290

+for systems that are in production.

+

+28

+00:01:12,290 --> 00:01:15,260

+Because if you introduce a problem, before the system goes in production,

+

+29

+00:01:15,260 --> 00:01:16,750

+then you might be able to catch it earlier,

+

+30

+00:01:16,750 --> 00:01:19,780

+with testing. Or before it's released. But, if you introduce

+

+31

+00:01:19,780 --> 00:01:21,750

+a problem for a system in production, then you have

+

+32

+00:01:21,750 --> 00:01:24,440

+to issue a new version of the code. You'll be

+

+33

+00:01:24,440 --> 00:01:26,860

+affecting, you might be affecting some users, because the code

+

+34

+00:01:26,860 --> 00:01:29,050

+fails on their machine. So, you have to be twice

+

+35

+00:01:29,050 --> 00:01:31,190

+as careful, when you are doing refactoring, when you're changing

+

+36

+00:01:31,190 --> 00:01:33,010

+your code for a system that is already in production.