﻿1
00:00:04,400 --> 00:00:05,180
‫Ciao e Benvenuto.

2
00:00:05,180 --> 00:00:12,050
‫In questa lezione, faremo il refactoring del nostro codice per rendere la nostra funzione grab più piccola e più

3
00:00:12,050 --> 00:00:12,770
‫leggibile.

4
00:00:12,770 --> 00:00:15,170
‫E useremo di nuovo i parametri.

5
00:00:15,290 --> 00:00:18,770
‫Questa volta creeremo effettivamente una funzione che lo prende come parametro.

6
00:00:18,770 --> 00:00:21,110
‫Immergiamoci e vediamo come farlo.

7
00:00:22,160 --> 00:00:29,030
‫Quindi è generalmente consigliabile che le funzioni cerchino di adattarsi a un singolo schermo.

8
00:00:29,060 --> 00:00:31,190
‫Ora, nel mio caso, il mio schermo è molto grande.

9
00:00:31,460 --> 00:00:32,720
‫Ma stiamo ancora imparando.

10
00:00:32,720 --> 00:00:37,250
‫Quindi in realtà ha senso avere funzioni ancora più piccole per rendere le cose comprensibili.

11
00:00:38,060 --> 00:00:46,040
‫E penso che questa funzione di cattura sia diventata troppo lunga, quindi penso che possiamo suddividerla in unità abbastanza funzionali.

12
00:00:46,040 --> 00:00:52,160
‫Il primo sarà il bit che esegue lo sweep e fa tutto il calcolo dei vettori di

13
00:00:52,160 --> 00:00:57,710
‫inizio e fine e restituisce il risultato del colpo e se abbiamo colpito o meno.

14
00:00:57,710 --> 00:01:03,110
‫Il booleano che dice se abbiamo colpito e il secondo bit è all'interno dell'istruzione if

15
00:01:03,110 --> 00:01:08,900
‫che probabilmente possiamo lasciare come compito di afferrare perché in realtà ha a che fare con l'afferrare, giusto?

16
00:01:08,900 --> 00:01:10,730
‫Dobbiamo svegliare il corpo rigido.

17
00:01:10,730 --> 00:01:16,190
‫Dobbiamo prendere un componente che abbia senso essere un metodo chiamato in una funzione chiamata grab.

18
00:01:16,550 --> 00:01:20,150
‫Ma quest'altra roba è un po' più tangenziale.

19
00:01:20,150 --> 00:01:23,450
‫È più un'utilità che dobbiamo inserire.

20
00:01:23,780 --> 00:01:28,550
‫Quindi vorrei sfidarti a creare quell'utilità, a prendere una palla a portata di mano.

21
00:01:28,550 --> 00:01:33,110
‫Questo è ciò che penso dovrebbe essere chiamato, la cosa che descrive ciò che fa quel pezzo di codice.

22
00:01:33,380 --> 00:01:40,220
‫Quindi estrai tutto quel codice di scansione in una nuova funzione privata, come pensare a quali dovrebbero essere i suoi parametri e il

23
00:01:40,220 --> 00:01:41,540
‫suo valore di ritorno.

24
00:01:41,540 --> 00:01:43,490
‫Ricorda, hai due uscite.

25
00:01:43,760 --> 00:01:46,460
‫Quindi abbiamo un risultato colpito e colpito.

26
00:01:46,850 --> 00:01:51,650
‫Quindi devi pensare di provare a utilizzare un parametro out per farlo funzionare.

27
00:01:52,160 --> 00:01:58,040
‫Ora, se vuoi un piccolo suggerimento, ti mostrerò cosa inserirò nel file di intestazione in un

28
00:01:58,250 --> 00:01:58,940
‫secondo.

29
00:01:58,940 --> 00:02:01,280
‫In caso contrario, puoi mettere in pausa il video in questo momento.

30
00:02:01,850 --> 00:02:04,040
‫In caso contrario, ti do il suggerimento.

31
00:02:04,790 --> 00:02:10,820
‫Quindi andremo a prendere un punto h e sotto dove dobbiamo

32
00:02:11,210 --> 00:02:18,330
‫gestire fisicamente, avremo un tipo di ritorno booleano per dirci se c'è qualcosa che possiamo

33
00:02:18,360 --> 00:02:27,020
‫ottenere qualcosa afferra bene prendiamo un palla in portata quindi dobbiamo dargli un parametro che sarà un parametro

34
00:02:27,020 --> 00:02:27,590
‫out.

35
00:02:27,620 --> 00:02:35,360
‫Quindi sarà un riferimento non costante al risultato del colpo F per riferimento.

36
00:02:36,530 --> 00:02:41,240
‫E commerciale e poi chiameremo il risultato del colpo alternativo in questo modo.

37
00:02:41,420 --> 00:02:49,130
‫E poi penso che questo non cambierà nulla nella nostra funzione, quindi possiamo renderla costante.

38
00:02:49,280 --> 00:02:51,980
‫Sono piccoli punti bonus se ci avevi già pensato.

39
00:02:52,580 --> 00:02:57,620
‫Quindi vai avanti, metti in pausa, video e prova a compilare quella funzione nel file C++.

40
00:03:01,030 --> 00:03:01,390
‫Bene.

41
00:03:01,390 --> 00:03:02,120
‫Ben tornato.

42
00:03:02,140 --> 00:03:04,720
‫Quindi lo copierò in C++.

43
00:03:05,050 --> 00:03:10,870
‫Lo metterò sotto il nostro componente di impugnatura fisica per abbinare l'ordine che abbiamo ottenuto nel file

44
00:03:10,870 --> 00:03:11,560
‫di intestazione.

45
00:03:12,040 --> 00:03:16,630
‫Aggiungerò l'U grabber davanti.

46
00:03:17,050 --> 00:03:18,460
‫Lo farò rientrare correttamente.

47
00:03:18,490 --> 00:03:25,030
‫Aggiungerò invece del punto e virgola, le parentesi graffe e poi sposterò il codice che

48
00:03:25,030 --> 00:03:26,800
‫abbiamo preso in mano.

49
00:03:26,860 --> 00:03:31,270
‫Quindi a partire dalla riga 53 per me, fino a 65.

50
00:03:31,690 --> 00:03:33,250
‫Ho intenzione di tagliare fuori tutto questo.

51
00:03:34,150 --> 00:03:35,920
‫Lo sostituirò con qualcosa in appena un secondo.

52
00:03:36,340 --> 00:03:40,540
‫Lo incollerò per prendere una palla a portata di mano.

53
00:03:41,140 --> 00:03:44,660
‫E abbiamo questo risultato di successo che abbiamo creato.

54
00:03:44,680 --> 00:03:53,290
‫Quello che possiamo fare è definirlo, risultati di successo uguali al nostro risultato di successo che abbiamo qui.

55
00:03:53,680 --> 00:04:00,970
‫Potremmo volerlo fare solo se ne abbiamo colpiti due, quindi possiamo mettere che se l'istruzione ha colpito in questo

56
00:04:00,970 --> 00:04:08,080
‫modo e avvolgere questo compito, l'out colpisce i risultati di hit all'interno dell'istruzione if e quindi possiamo andare avanti

57
00:04:08,080 --> 00:04:15,700
‫e al fine della funzione, solo return ha colpito in questo modo ora c'è un'ottimizzazione o un miglioramento che può

58
00:04:15,700 --> 00:04:22,690
‫essere apportato qui perché stiamo passando per riferimento nel canale di sweep e in grab ball a

59
00:04:22,690 --> 00:04:23,200
‫portata.

60
00:04:23,200 --> 00:04:28,930
‫In realtà non è necessario creare un nuovo risultato di successo qui e quindi copiarlo nel risultato di successo.

61
00:04:28,930 --> 00:04:30,070
‫Questo è solo uno spreco di memoria.

62
00:04:30,790 --> 00:04:36,190
‫Quello che possiamo fare è rimuovere il risultato del colpo che stiamo creando all'interno, ottenere la palla a portata di mano.

63
00:04:36,640 --> 00:04:44,050
‫E invece possiamo semplicemente usare il riferimento che abbiamo passato per passare direttamente allo sweep singolo per

64
00:04:44,050 --> 00:04:44,920
‫canale.

65
00:04:44,930 --> 00:04:50,380
‫Quindi sta effettivamente passando questo riferimento alle funzioni nello sweep singolo per canale in cui

66
00:04:50,380 --> 00:04:51,460
‫verrà popolato.

67
00:04:51,820 --> 00:04:57,160
‫Ciò elimina la necessità dell'istruzione if, rendendo questa funzione un po' più veloce e facile da

68
00:04:57,160 --> 00:04:57,700
‫leggere.

69
00:04:57,970 --> 00:05:01,510
‫E in effetti, non penso che abbiamo nemmeno bisogno di una variabile per memorizzare gli hit.

70
00:05:01,510 --> 00:05:03,720
‫Possiamo solo andare avanti e tornare.

71
00:05:03,730 --> 00:05:09,670
‫Sarà molto più pulito restituire i risultati del canale Get World Suite.

72
00:05:09,670 --> 00:05:16,030
‫Quindi stiamo solo passando i risultati da quello attraverso il backup per essere afferrabili a portata di mano o chiunque lo

73
00:05:16,030 --> 00:05:16,840
‫stia chiamando.

74
00:05:17,170 --> 00:05:21,900
‫Quindi, parlando di chiunque lo stia chiamando, ora dobbiamo passare alla nostra presa.

75
00:05:21,910 --> 00:05:24,610
‫Dobbiamo creare il nostro risultato di successo da qualche parte.

76
00:05:24,610 --> 00:05:25,630
‫Dobbiamo crearlo qui.

77
00:05:25,630 --> 00:05:27,910
‫Quindi colpisci il risultato, questo è quello che andremo a popolare.

78
00:05:28,420 --> 00:05:34,930
‫Creeremo quindi una variabile brillante che sarà hit per impostare quella uguale a se prendi

79
00:05:34,930 --> 00:05:42,100
‫una palla a portata di mano e passeremo il risultato del colpo per riferimento che vogliamo

80
00:05:42,100 --> 00:05:42,970
‫popolato.

81
00:05:43,390 --> 00:05:49,000
‫E poi, se abbiamo colpito, andremo avanti ed eseguiremo il codice di acquisizione.

82
00:05:49,360 --> 00:05:50,260
‫Roba fantastica.

83
00:05:50,260 --> 00:05:56,560
‫Abbiamo spostato qualcosa al suo interno in una funzione per adattare questa funzione di cattura su un singolo schermo.

84
00:05:56,560 --> 00:06:04,030
‫E abbiamo di nuovo utilizzato i nostri parametri, questa volta creando una funzione per noi stessi che li usiamo

85
00:06:04,030 --> 00:06:04,960
‫sul serio.

86
00:06:05,170 --> 00:06:07,060
‫Ci vediamo nel prossimo video.

