Heim  >  Artikel  >  Eine Schritt-für-Schritt-Anleitung zum Schreiben von nicht wartbarem PHP-Code

Eine Schritt-für-Schritt-Anleitung zum Schreiben von nicht wartbarem PHP-Code

步履不停
步履不停Original
2019-06-10 11:12:515901Durchsuche

Da die Arbeitslosenquote immer höher wird, wird vielen Menschen klar, wie wichtig es ist, ihren Arbeitsplatz zu behalten. Was ist also ein guter Weg, um Ihren Job zu behalten und sich unersetzlich zu machen? Die einfache Tatsache ist, dass Sie Ihren Job erfolgreich behalten haben, solange niemand Ihren Code warten kann. Das Schreiben von nicht wartbarem Code ist eine besondere Fähigkeit, scheint aber seltsamerweise für manche Entwickler eine Selbstverständlichkeit zu sein. Aber für die übrigen Entwickler da draußen gibt es hier einige Tipps und Hinweise, die Ihnen den Einstieg in das Schreiben von nicht wartbarem Code erleichtern sollen.

Eine Schritt-für-Schritt-Anleitung zum Schreiben von nicht wartbarem PHP-Code

Das erste, was zu tun ist

Der erste Schritt besteht darin, einen Job zu finden. Sie sollten nach dem richtigen Unternehmen suchen, in dem Sie sich entfalten und Ihr unhaltbares Potenzial ausschöpfen können. Sie müssen nicht unbedingt der PHP-Guru in Ihrem Unternehmen sein, und wenn ja, ist das umso besser. Wenn bei der Jobsuche die Migration auf PHP aus einer anderen Sprache in der Stellenbeschreibung erwähnt wird (damit Sie wissen, dass Sie derjenige sind, der das Sagen hat), können Sie auch nach irreführenden Jobs suchen, die 10 Jahre Erfahrung mit PHP5 plus Kenntnisse erfordern in FrontPage und Netscape Composer.

Sobald Sie diese einmalige Gelegenheit erhalten, ergreifen Sie vom ersten Tag an Maßnahmen. Melden Sie sich bei Besprechungen zu Wort und verschaffen Sie Ihrer Stimme Gehör. Sprechen Sie mutig über objektorientiertes Architekturdesign, Unternehmen, Reformpläne und wie Sie das Gute noch besser machen können. Natürlich müssen Sie auch entsprechende Verpflichtungen eingehen. Stellen Sie sicher, dass jeder Sie bei wichtigen Codierungsschritten konsultiert.

Unwartbarer Kern

Inspiriert durch den hervorragenden Artikel „Writing unmaintainable code“ (muss von denen gelesen werden, die ihren Job behalten wollen), hier ist, was Sie brauchen Zwei wichtige Konzepte von Meisterschaft und Meisterschaft:

  1. Sie sollten es anderen unmöglich machen, etwas einfach zu ändern, ohne etwas anderes kaputt zu machen.

    Betreuer haben keine Zeit, Ihren Code zu verstehen. Wartbarer Code bedeutet, dass man in einem Berg an Code schnell einen bestimmten Teil finden kann, schnell verstehen kann, wie er funktioniert, und ihn ändern kann, ohne etwas kaputt zu machen. Das kannst du nicht machen. Machen Sie es anderen nicht leicht, nach etwas zu suchen oder es dort zu finden, wo sie es erwarten.

  2. Ihr Code darf nicht „nicht wartbar“ aussehen (weil andere es vermuten werden), er muss „nicht wartbar“ sein.

    Code sollte für Betreuer normal aussehen, sie aber überraschen, wenn sie es am wenigsten erwarten.

Best Practices

  1. Keine Codierungskonventionen. Es gibt endlose Widersprüche über Codierungs- und Namenskonventionen. Dies sollte in Ihrer hervorragenden Organisation niemals passieren. Sie müssen an einem coolen Projekt arbeiten und können nicht stundenlang darüber diskutieren, ob Sie Tabulatoren oder Leerzeichen verwenden sollen. Darüber hinaus sind Vereinbarungen Einschränkungen. Wenn eine neue Person in das Unternehmen einsteigt und Ihre Zustimmung nicht gewohnt ist, wird es ihr schlecht gehen. Ein unglücklicher Programmierer ist ein ineffektiver Programmierer. Erklären Sie es jedem, der Sie fragt. Lassen Sie jeden Code in seinem eigenen bevorzugten Stil schreiben. Was Ihren eigenen Code betrifft – transformieren Sie Ihre Konvention. Montags werden in Kamelbuchstaben camelCase genannt, Dienstage in Kleinbuchstaben all_lowercase, Freitage sind gemischt und an jedem 29. Februar wird die ungarische Schreibweise verwendet.

  2. Keine Kommentare. Ihr Code ist wunderschön, er benötigt keine Kommentare. Wenn jemand Ihren Code nicht versteht, besteht eine gute Chance, dass er kein besonders guter Programmierer ist. Wenn Sie, wenn möglich, gezwungen sind, einen Kommentar zu schreiben, dann schreiben Sie ihn einfach übertrieben. Beschreiben Sie den offensichtlichsten und unwichtigsten Code im Detail und überspringen Sie den Rest.

  3. Verwenden Sie Notepad zum Codieren . Oder verwenden Sie einen anderen Editor, der keine Codeeinrückung anzeigt. Andere leiden lassen und schließlich das Team verlassen. Auf diese Weise müssen Sie sich ihre Beschwerden nicht ständig anhören. Wenn Sie jemand fragt, warum Sie Notepad verwenden, sollten Sie darauf vorbereitet sein, es zu erklären: Weil es von Windows stammt (heutzutage das einzige Betriebssystem für kreative Programmierer), keine erforderliche Schulung erfordert und nichts kostet. Ich bin mir sicher, dass Sie online Hinweise darauf finden, dass Sie jedes Programm, sogar Word, zum Codieren Ihrer Webseiten verwenden können, aber nur Notepad ist die wahre Autorität, schließlich sind Sie die einzige Person, die Ihr Unternehmen beschäftigt.

  4. Einheitentests ablehnen. Erklären Sie jedem, der Sie befragt, dass Sie damit beauftragt wurden, qualitativ hochwertigen, fehlerfreien Code zu schreiben (also keine Tests erforderlich). Warum sollte sich jemand, der bei klarem Verstand ist, die Zeit nehmen, triviale Tests zu schreiben, um zu beweisen, dass der Code korrekt funktioniert? Manche Dinge im Leben sind wie: Der Himmel ist blau, die Sonne geht im Osten auf, Ihr Code funktioniert, also vielen Dank. Fahren Sie fort (genau wie in den Kommentaren: Wenn Sie gezwungen werden, den Test abzulegen, seien Sie darauf vorbereitet, das Offensichtliche zu testen und den Rest zu überspringen)

  5. Keine Template-Engine verwenden . Mithilfe von Vorlagen-Engines können Sie zwischen der Geschäftslogikschicht und der Präsentationsschicht unterscheiden. Dadurch wird die Wartbarkeit des Codes sichergestellt, sodass Sie diese Regel nicht befolgen können. Rasmus Lerdorf, der Vater von PHP, sagte: „PHP ist eine Template-Engine.“ Selbst wenn Sie eine Vorlagen-Engine verwenden müssen, sollten Sie Wege finden, diese zu missbrauchen, indem Sie beispielsweise Geschäftscode in die Vorlage einfügen oder HTML-Code (sowie CSS- und JavaScript-Code) sorgfältig in der Datenbankzugriffsschicht mischen.
    Mischen Sie Ihren PHP-, HTML-, CSS- und JavaScript-Code im Allgemeinen nach Möglichkeit sauber in derselben Codezeile. Erstellen Sie JavaScript- und HTML-Code mit Inline-Stilen im PHP-Code. Wenn jemand fragt, teilen Sie ihm mit, dass dieses Muster „Kapselung“ heißt und dass Sie die volle Verantwortung für Ihren Code übernehmen.

  6. Versionskontrolle. Obwohl dies schwer zu vermeiden ist, lohnt es sich, sich von jeglicher Form- oder Versionskontrolle zu befreien. Sie können in Diskussionen zeigen, dass dies die Kommunikation zwischen Teammitgliedern verbessert, anstatt sich auf kaltblütige Versionskontrollsoftware zu verlassen. Wenn Sie niemanden überzeugen, verzweifeln Sie nicht. Sie müssen beim Einreichen nicht alles festlegen. Behalten Sie einen Teil Ihres eigenen Codes lokal. Diese kleinen, aber fatalen Codeteile zerstören das Projekt, wenn jemand anders als Sie versucht, es zu erstellen und bereitzustellen. Wenn Sie erwischt werden, argumentieren Sie einfach, dass der Code noch nicht für die Präsentation geeignet ist. Schließlich haben Sie qualitativ hochwertigen Code und hervorragende Lösungen eingereicht, die das Nachwuchsteam weiterbilden können. Diese kleinen Jungen und Mädchen werden voller Vorfreude zu Ihnen aufschauen!

  7. Bauen Sie einen Rahmen . Dann werden Sie unweigerlich zum Architekten, und Ihre Autorität steht außer Frage. Auf diese Weise können Sie geheime Konventionen hinzufügen (von denen die meisten natürlich manchmal widersprüchlich sind), die selbst die erfahrensten Betreuer nicht entdecken. Ihr Framework kümmert sich um alles, niemand muss sich darum kümmern, es zu verstehen, und alle werden zufrieden sein, weil Sie allein die Entwicklung erleichtern und die Produktivität des gesamten Unternehmens steigern. Geben Sie Ihr Framework nicht als Open Source heraus, denn a) das Framework ist Eigentum des Unternehmens und das Unternehmen hat viel Geld in es investiert, und b) die Open-Source-Community wird Sie auslachen, und das wird der Fall sein Ende deiner Tapferkeit.

Namensbezogen

Ihr Variablenname sollte geheimnisvoll sein, vorzugsweise nur einen Buchstaben. Auf diese Weise kann niemand durch eine einfache Suche finden, was er braucht.

Klassennamen und Methoden werden am besten mit einem Buchstaben definiert. Wenn Sie wirklich einen normalen Namen definieren möchten, verwenden Sie ihn ständig. Denken Sie daran: Der beste Weg, Informationen zu verbergen, besteht darin, ihn häufig zu verwenden. Wenn Sie denselben Namen wiederverwenden (bekannt als „objektorientierte Programmierung“), verbessern Sie die Lesbarkeit Ihres Codes und halten die Teamkollegen in Ihrem Code, wenn Sie die Klammern und geschweiften Klammern in eine neue Zeile setzen Ich muss meine Kenntnisse über reguläre Ausdrücke auffrischen. Bedenken Sie Folgendes:

  $noodles = 1;
    class
    noodles
    {
        var $noodles = 2;
        function
            noodles            ()
        {
            $noodles['noodles'] = 'noodles';
        }
    }
    function
        noodles() {
            return new noodles;
        }
    $noodles = noodles();
    var_dump($noodles);

Sie können auch ausgefallene Zeichensätze verwenden, um Variablen zu benennen. Das kyrillische Alphabet ist perfekt, weil einige Buchstaben wie das römische Alphabet aussehen, es aber nicht sind (alle: xopekacMEBCTAKXOPH). Dann lautet die folgende Ausgabe:

   $alert = 1;
    $аlert = 2;
    echo $alert;

Wenn das zweite  alert mit dem kyrillischen Buchstaben „a“ beginnt, dann nein!

引用相关

即使你非常正常的定义来一些东西,但并不意味着你不能以有趣的方式来使用它。主要的武器有:

  • eval()

  • 可变变量

  • 可变类,比如 $strudels = "noodles"; $noo = new $strudels;

  • call_user_func()

基本上任何将代码视为字符串的语言结构都是你的好朋友。

   // calling abc();
    $z = 'A';
    call_user_func($z .'bC');

大写

字母例子,函数方法名不区分大小写,滥用这个特点。

function abc(){
    echo "abc";}AbC();

另一方面,数组的健(key) 对大小写敏感,也滥用这个特点。

$a['UseConvetionsOnlyTobreakThem'] = 1;if (isset($a['UseConvetionsOnlyToBreakThem'])) {
    // ?? 大写 B !!1!}

重写

在不期望的情况下重写全局变量,尤其是超全局变量。尽早重写 $_GET 数组中的属性,多次重写,$_POST 亦是如此。在 $_REQUEST 上做一些不起眼的重写作为点缀。如果是在 WTF-ed 上,你可以解释是在防止用户输入的 XSS 攻击、注入攻击以及其他的病毒攻击。

控制结构

使用、混合、匹配所有备选的 ifwhileforforeachswitch 语法。如果被问起来,所有的这些,请解释说你正在培训新员工学习真正的语言。

if ($a > 5):
  if ($a > 4) {
      while ($a > 0):
        echo --$a;
      endwhile;
  }endif;

嵌套三元运算符,没有比这个更好、更简洁的代码了。

// 猜猜这里输出什么echo true ? 'true' : false ? 't' : 'f';

在 for 的循环体内,再次增加 $i 以保持所有人的注意。或者,通过不使用 $i 来实现循环增量的惊喜。从不。

嵌套循环、深入,然后突然跳出它们(循环)。像 break 2 和 break 3 这样的代码存粹是为了娱乐,尤其是当混合了奇怪的缩进代码时。

这是一个开始!

这就是今天的全部。我希望你相信你自己也能做到,你也可以编写不可维护的代码。现在你的未来就在你的手中!当然,你也可以编写可读性比较高的代码,但是冒着被替代的风险。

Practice makes perfect.

原文地址:http://www.phpied.com/how-to-write-unmaintainable-php-code-2009/

相关文章推荐:

1.  2019 PHP安全指南

2. PHP早已不是十年前的鸟样

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-Sicherheitsleitfaden 2019Nächster Artikel:PHP-Sicherheitsleitfaden 2019