Schnell mit Castalia Umgestaltung


Die Umgestaltung ist der Prozess der 'Verbesserung den Entwurf von vorhandenem Code.' Lernen Sie, wie man ein Refactorer schneller und produktiver mit Castalia geworden.

Dies ist die vierte und letzte Teil meiner Reihe von Artikeln, die Diskussion über die Ergebnisse unserer Untersuchung wie Castalia hilft Entwicklern produktiver geworden. Im vergangenen Monat, ich habe geschrieben über die Senkung der Arbeit durch die Reduzierung der Tastenanschläge, schneller mit live Fehlerüberprüfung von qualitativ hochwertigem Quellcode schreiben und Navigieren in Code schneller und präziser. Diese Woche werde ich diskutieren eine der Castalia der produktivste und nützlichsten Features: automatisierte Refactoring.

Es spielt keine Rolle, wie gut wir sind, wir alle Code schreiben, der besser sein könnte. Wir oft vorhandenen Code sehen und erkennen, daß wir besser bessere Trennung von Methoden, bessere Organisation usw. -Klassennamen verwendet haben könnte... Darum geht es welche Umgestaltung - vorhandenen Code zum besseren ändern.

Das Standardwerk zum Thema ist Refactoring: Verbesserung der Design der vorhandene Code von Martin Fowler. In diesem Buch definiert Fowler Umgestaltung als 'das Design des Codes verbessert, nachdem es geschrieben wurde.' Refactorings sind formale Verfahren für das Design der bestehenden Code ohne Veränderung im Verhalten des Codesändern. (Übrigens nicht einige der Castalias Refactorings zugegebenermaßen wirklich Refactorings, wie sie das Verhalten des Codes ändern).

Der Zweck dieses Artikels ist jedoch nicht zu loben die Tugenden der Umgestaltung oder versuchen, Sie zu überzeugen, dass es eine gute Idee ist, von Anfang an. Ich gehe davon aus, dass Sie bereits wissen, warum die Umgestaltung notwendig ist oder du wirst mir vertrauen, wenn ich sage, dass es eine gute Sache ist. Was ich wirklich tun möchte ist die Rede, was wir gesehen haben, wenn wir Menschen umgestalten von Code von hand und umgestalten von Code mit Castalia sahen.

Wenn wir die Entwickler bei der Arbeit beobachtet, bemerkten wir, dass viele Entwickler viel Zeit Dinge umbenennen oder Neuorganisieren Dinge ausgegeben. Diese relativ einfachen Aufgaben konnte in großen Projekten Tage dauern (vorstellen, dass jedes Vorkommen von TCustMan in TCustomerMan in über 300 Dateien verteilt 250.000 Codezeilen ändern).

Entwickler hat mehrere Ansätze dazu. Die meisten Delphi 'In Dateien suchen' Funktion verwendet, um jedes Vorkommen des Bezeichners in Frage zu finden und dann jede Datei geöffnet und Delphi 'Suchen/Ersetzen' Dialogfeld verwendet, um den Text zu ändern. Dies schien der effizienteste Weg zu tun, obwohl wir einen anderen interessanten Ansatz beobachten: einige Entwickler würde nur ändern Sie den Namen der Erklärung, und kompilieren Sie das Projekt. Wenn die Kompilierung mit einer unzähligen Menge an 'Undeclared Identifier' Fehler fehlschlagen würde, würde sie jedem gehen und ändern den Bezeichner. Dies ist die Methode, die vorgeschriebenen Fowler.

Der Entwickler, von dem wir gesprochen haben wie Castalias 'Klasse umbenennen' Umgestaltung seiner Klasse umbenennen verwendet kannten, hätte Dinge ganz anders. Mithilfe der Castalia automatisiert 'Klasse umbenennen' Umgestaltung, der Vorgang dauert weniger als eine Sekunde. Es gibt nicht wirklich ein logischer Weg, die Verbesserung zu beschreiben, da niemand wird mir glauben, wenn ich sage, dass wir nachweisen können, dass Castalia eine Produktivitätssteigerung von 22.000 % anbieten kann (1 Sekunde automatisierte gegenüber unter 6 Stunden von hand zu tun), auch wenn es wahr ist.

Die Umgestaltung ist nicht nur über Dinge, jedoch umbenennen. Ein weiteres typisches Beispiel ist die 'Methode extrahieren' Umgestaltung, die wir alle auf einmal nötig haben, oder andere. Dies ist wahrscheinlich die häufigste Umgestaltung von 'manuell' Refactorings durchgeführt. Wir verwendet, wenn eine Methode ein wenig monolithischen geworden und wir wissen, dass Teile davon in anderen Methoden unterteilt werden sollte. Verschieben Sie wir Ausschneiden und einfügen, Variablen, Parameter usw.... bis der Code ist besser ausgelegt, aber das Verhalten hat sich nicht verändert. Diese Umgestaltung ist im Allgemeinen schneller als einige Global verwendet Objekt umbenennen, aber es hat das interessante Potenzial zu Fehlern führen, die es nicht vor. Entwickler, die gelernt Castalias automatisierten 'Methode extrahieren' Umgestaltung nutzen fand, dass sie könnte die Methode Extraktion schneller erledigt zu bekommen, weniger Arbeit von hand und drastisch, das Potential reduzieren für die Einführung von Störungen auf fast null.

Wie sehen Sie die gleiche Produktivität? Verwenden Sie die Umgestaltung Tools. Natürlich ist das leichter gesagt als getan. Anders als strukturelle Hervorhebung oder Syntaxüberprüfung die Umgestaltung Tools nicht auf Sie springen und sagen 'mich benutzen!' Lernen, Orte zu erkennen wo die Refactorings angewendet werden können, braucht ein wenig Erfahrung, aber zu wissen, was verfügbar ist kann viel helfen. Castalia des automatisierten Refactorings sind:

  • Umbenennen von Klasse - ändert den Namen einer Klasse ändern alle Verweise auf die Klasse entsprechend dem neuen Namen Klasse.
  • Klasse - verschieben bewegt sich eine Klassendefinition und alle seine Methoden von einem Gerät zum anderen.
  • Rename-Methode - ändert den Namen einer Prozedur oder Funktion und alle Verweise auf die Prozedur oder Funktion.
  • Methode - Extrakte ein Code-segment in einem gesonderten Verfahren ersetzen das originale-Segment mit einem entsprechend konstruierten Aufruf an das neue Verfahren zu extrahieren.
  • Umbenennen von lokalen Variablen - ändert den Namen einer lokalen Variablen und alle Verweise auf die Variable innerhalb einer einzelnen Methode.
  • Inline-temporäre Variable - wenn eine Variable den Wert einer einfachen Anweisung, diese Umgestaltung zugewiesen wird die Prozedur die Variable entfernt und ersetzt alle Vorkommen der Variablen durch die einfache Anweisung.
  • Temporäre Variable - zu teilen, wenn eine Variable nur einmal zugewiesen wird, ist es oft ratsam, 'die Variable in zwei unterschiedliche Variablen aufteilen'. Split temporären Variablen automatisiert dies indem das Verfahren eine neue Variable hinzufügen und die entsprechende Änderungen die ursprüngliche Variable in zwei Teilen. (Ich schrieb einen Artikel über dieses bereits im Februar).
  • Referenzen (keine wahre Umgestaltung) - nicht keine Änderungen an Code, findet aber alle Verweise auf eine Kennung im Projekt zu finden.
  • Umgeben Sie mit... (Keine wahre Umgestaltung) - umgibt einen ausgewählten Codeblock mit einer Reihe von standard-Konstrukten wie versuchen... außer... Ende, Wenn dann beginnen... Ende, etc.... Dies ist keine wahre Umgestaltung, denn es das Verhalten des Codes ändert, aber wir konnten keinen besseren Platz zu finden.

Castalia des automatisierten Refactorings sind echte Perle, und haben viele Entwickler und viele Entwicklungsmanager ganz glücklich gemacht. Die Produktivitätsgewinne von habend formschöne Code sind nicht messbar. Unter Ausnutzung der Castalias automatisierten Umgestaltung können Entwickler Codeprobleme schnell zu verbessern und ohne Langeweile, erlaubt keinen Code, egal wie schlecht entwickelte große Code zu werden.

Dies markiert das Ende unserer Serie über die Castalia-Nutzung-Studie. Nächste Woche wird es Zeit für etwas ganz anderes sein!









Schnell mit Castalia Umgestaltung


Schnell mit Castalia Umgestaltung : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Die Umgestaltung ist der Prozess der 'Verbesserung den Entwurf von vorhandenem Code.' Lernen Sie, wie man ein Refactorer schneller und produktiver mit Castalia geworden.

Dies ist die vierte und letzte Teil meiner Reihe von Artikeln, die Diskussion über die Ergebnisse unserer Untersuchung wie Castalia hilft Entwicklern produktiver geworden. Im vergangenen Monat, ich habe geschrieben über die Senkung der Arbeit durch die Reduzierung der Tastenanschläge, schneller mit live Fehlerüberprüfung von qualitativ hochwertigem Quellcode schreiben und Navigieren in Code schneller und präziser. Diese Woche werde ich diskutieren eine der Castalia der produktivste und nützlichsten Features: automatisierte Refactoring.

Es spielt keine Rolle, wie gut wir sind, wir alle Code schreiben, der besser sein könnte. Wir oft vorhandenen Code sehen und erkennen, daß wir besser bessere Trennung von Methoden, bessere Organisation usw. -Klassennamen verwendet haben könnte... Darum geht es welche Umgestaltung - vorhandenen Code zum besseren ändern.

Das Standardwerk zum Thema ist Refactoring: Verbesserung der Design der vorhandene Code von Martin Fowler. In diesem Buch definiert Fowler Umgestaltung als 'das Design des Codes verbessert, nachdem es geschrieben wurde.' Refactorings sind formale Verfahren für das Design der bestehenden Code ohne Veränderung im Verhalten des Codesändern. (Übrigens nicht einige der Castalias Refactorings zugegebenermaßen wirklich Refactorings, wie sie das Verhalten des Codes ändern).

Der Zweck dieses Artikels ist jedoch nicht zu loben die Tugenden der Umgestaltung oder versuchen, Sie zu überzeugen, dass es eine gute Idee ist, von Anfang an. Ich gehe davon aus, dass Sie bereits wissen, warum die Umgestaltung notwendig ist oder du wirst mir vertrauen, wenn ich sage, dass es eine gute Sache ist. Was ich wirklich tun möchte ist die Rede, was wir gesehen haben, wenn wir Menschen umgestalten von Code von hand und umgestalten von Code mit Castalia sahen.

Wenn wir die Entwickler bei der Arbeit beobachtet, bemerkten wir, dass viele Entwickler viel Zeit Dinge umbenennen oder Neuorganisieren Dinge ausgegeben. Diese relativ einfachen Aufgaben konnte in großen Projekten Tage dauern (vorstellen, dass jedes Vorkommen von TCustMan in TCustomerMan in über 300 Dateien verteilt 250.000 Codezeilen ändern).

Entwickler hat mehrere Ansätze dazu. Die meisten Delphi 'In Dateien suchen' Funktion verwendet, um jedes Vorkommen des Bezeichners in Frage zu finden und dann jede Datei geöffnet und Delphi 'Suchen/Ersetzen' Dialogfeld verwendet, um den Text zu ändern. Dies schien der effizienteste Weg zu tun, obwohl wir einen anderen interessanten Ansatz beobachten: einige Entwickler würde nur ändern Sie den Namen der Erklärung, und kompilieren Sie das Projekt. Wenn die Kompilierung mit einer unzähligen Menge an 'Undeclared Identifier' Fehler fehlschlagen würde, würde sie jedem gehen und ändern den Bezeichner. Dies ist die Methode, die vorgeschriebenen Fowler.

Der Entwickler, von dem wir gesprochen haben wie Castalias 'Klasse umbenennen' Umgestaltung seiner Klasse umbenennen verwendet kannten, hätte Dinge ganz anders. Mithilfe der Castalia automatisiert 'Klasse umbenennen' Umgestaltung, der Vorgang dauert weniger als eine Sekunde. Es gibt nicht wirklich ein logischer Weg, die Verbesserung zu beschreiben, da niemand wird mir glauben, wenn ich sage, dass wir nachweisen können, dass Castalia eine Produktivitätssteigerung von 22.000 % anbieten kann (1 Sekunde automatisierte gegenüber unter 6 Stunden von hand zu tun), auch wenn es wahr ist.

Die Umgestaltung ist nicht nur über Dinge, jedoch umbenennen. Ein weiteres typisches Beispiel ist die 'Methode extrahieren' Umgestaltung, die wir alle auf einmal nötig haben, oder andere. Dies ist wahrscheinlich die häufigste Umgestaltung von 'manuell' Refactorings durchgeführt. Wir verwendet, wenn eine Methode ein wenig monolithischen geworden und wir wissen, dass Teile davon in anderen Methoden unterteilt werden sollte. Verschieben Sie wir Ausschneiden und einfügen, Variablen, Parameter usw.... bis der Code ist besser ausgelegt, aber das Verhalten hat sich nicht verändert. Diese Umgestaltung ist im Allgemeinen schneller als einige Global verwendet Objekt umbenennen, aber es hat das interessante Potenzial zu Fehlern führen, die es nicht vor. Entwickler, die gelernt Castalias automatisierten 'Methode extrahieren' Umgestaltung nutzen fand, dass sie könnte die Methode Extraktion schneller erledigt zu bekommen, weniger Arbeit von hand und drastisch, das Potential reduzieren für die Einführung von Störungen auf fast null.

Wie sehen Sie die gleiche Produktivität? Verwenden Sie die Umgestaltung Tools. Natürlich ist das leichter gesagt als getan. Anders als strukturelle Hervorhebung oder Syntaxüberprüfung die Umgestaltung Tools nicht auf Sie springen und sagen 'mich benutzen!' Lernen, Orte zu erkennen wo die Refactorings angewendet werden können, braucht ein wenig Erfahrung, aber zu wissen, was verfügbar ist kann viel helfen. Castalia des automatisierten Refactorings sind:

  • Umbenennen von Klasse - ändert den Namen einer Klasse ändern alle Verweise auf die Klasse entsprechend dem neuen Namen Klasse.
  • Klasse - verschieben bewegt sich eine Klassendefinition und alle seine Methoden von einem Gerät zum anderen.
  • Rename-Methode - ändert den Namen einer Prozedur oder Funktion und alle Verweise auf die Prozedur oder Funktion.
  • Methode - Extrakte ein Code-segment in einem gesonderten Verfahren ersetzen das originale-Segment mit einem entsprechend konstruierten Aufruf an das neue Verfahren zu extrahieren.
  • Umbenennen von lokalen Variablen - ändert den Namen einer lokalen Variablen und alle Verweise auf die Variable innerhalb einer einzelnen Methode.
  • Inline-temporäre Variable - wenn eine Variable den Wert einer einfachen Anweisung, diese Umgestaltung zugewiesen wird die Prozedur die Variable entfernt und ersetzt alle Vorkommen der Variablen durch die einfache Anweisung.
  • Temporäre Variable - zu teilen, wenn eine Variable nur einmal zugewiesen wird, ist es oft ratsam, 'die Variable in zwei unterschiedliche Variablen aufteilen'. Split temporären Variablen automatisiert dies indem das Verfahren eine neue Variable hinzufügen und die entsprechende Änderungen die ursprüngliche Variable in zwei Teilen. (Ich schrieb einen Artikel über dieses bereits im Februar).
  • Referenzen (keine wahre Umgestaltung) - nicht keine Änderungen an Code, findet aber alle Verweise auf eine Kennung im Projekt zu finden.
  • Umgeben Sie mit... (Keine wahre Umgestaltung) - umgibt einen ausgewählten Codeblock mit einer Reihe von standard-Konstrukten wie versuchen... außer... Ende, Wenn dann beginnen... Ende, etc.... Dies ist keine wahre Umgestaltung, denn es das Verhalten des Codes ändert, aber wir konnten keinen besseren Platz zu finden.

Castalia des automatisierten Refactorings sind echte Perle, und haben viele Entwickler und viele Entwicklungsmanager ganz glücklich gemacht. Die Produktivitätsgewinne von habend formschöne Code sind nicht messbar. Unter Ausnutzung der Castalias automatisierten Umgestaltung können Entwickler Codeprobleme schnell zu verbessern und ohne Langeweile, erlaubt keinen Code, egal wie schlecht entwickelte große Code zu werden.

Dies markiert das Ende unserer Serie über die Castalia-Nutzung-Studie. Nächste Woche wird es Zeit für etwas ganz anderes sein!


Schnell mit Castalia Umgestaltung

Schnell mit Castalia Umgestaltung : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Schnell mit Castalia Umgestaltung
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung