Heim  >  Artikel  >  Backend-Entwicklung  >  13 Fehler, auf die Java-Veteranen achten sollten

13 Fehler, auf die Java-Veteranen achten sollten

WBOY
WBOYOriginal
2016-08-08 09:27:47762Durchsuche

Probleme, die im Produktionsprozess auftreten, geraten nach und nach in die Aufmerksamkeit des mittleren und oberen Managements. Unabhängig davon, ob Sie Entwickler oder Architekt sind , sollten Sie den folgenden Dingen genügend Aufmerksamkeit schenken, um in Zukunft nicht in peinliche Situationen zu geraten. Sie können es auch als Hinweis zur Fehlerbehebung verwenden. 1

, externalisieren Sie keine Konfigurationseigenschaften in Eigenschaftendateien oder XML-Dateien . Beispielsweise ist die Anzahl der von der Stapelverarbeitung verwendeten Threads in der Eigenschaftendatei nicht konfigurierbar. Unabhängig davon, ob sich Ihr Batch-Programm in der DEV -Umgebung oder in der UAT (User Acceptance Test)-Umgebung befindet, kann es problemlos ausgeführt werden Sobald es auf PROD bereitgestellt wird und als Multithread-Programm zur Verarbeitung größerer Datensätze verwendet wird, wird IOException, der Grund Möglicherweise ist die JDBC Treiberversion unterschiedlich, oder es handelt sich um das in #2 besprochene Problem. Wenn die Anzahl der Threads in einer Eigenschaftendatei konfiguriert werden kann, ist es sehr einfach, daraus eine Single-Thread-Anwendung zu machen. Wir müssen Anwendungen nicht mehr wiederholt bereitstellen und testen, um Probleme zu lösen. Diese Methode eignet sich auch zum Konfigurieren von URL, Server- und Portnummer usw. 2

Die Größe des im Test verwendeten Datensatzes ist unangemessen. Ein typisches Szenario im Produktionsprozess besteht beispielsweise darin, nur

1 bis 3 Konten zum Testen zu verwenden, und diese Anzahl sollte sein 1000 bis 2000 Stück. Bei Leistungstests müssen die verwendeten Daten real und unbeschnitten sein. Leistungstests, die nicht nah an der realen Umgebung sind, können zu unvorhersehbaren Leistungs-, Erweiterungs- und Multithreading-Problemen führen. Nur wenn Sie die Anwendung mit einem größeren Datensatz testen, können Sie garantieren, dass sie ordnungsgemäß funktioniert und die SLAs (Service Level Standards) für nicht funktionale Attribute erfüllt. 3 Glauben Sie naiv, dass die in der Anwendung aufgerufenen externen und internen Dienste zuverlässig und immer verfügbar sind. Wenn Zeitüberschreitungen und Wiederholungsversuche bei Serviceaufrufen nicht zugelassen werden, wirkt sich dies negativ auf die Stabilität und Leistung der Anwendung aus. Es sind ordnungsgemäße Dienstausfalltests erforderlich. Dies ist wichtig, da heutige Anwendungen meist verteilt und serviceorientiert sind und eine große Anzahl von Netzwerkdiensten erfordern. Das endlose Anfordern nicht verfügbarer Dienste kann Ihrer Anwendung schaden. Der Load Balancer muss ebenfalls getestet werden, um sicherzustellen, dass er ordnungsgemäß funktioniert, um jeden Knoten im Gleichgewicht zu halten.

4

Nichteinhaltung der Mindestsicherheitsanforderungen. Wie oben erwähnt, sind Netzwerkdienste allgegenwärtig, was es Hackern leicht macht, sie für Denial-of-Service-Angriffe auszunutzen. Wenn Sie Secure Socket Layer verwenden, müssen Sie daher eine grundlegende Überprüfung durchführen und Penetrationstests mit Tools wie Google Skipfish

durchführen. Eine unsichere Anwendung kann nicht nur ihre eigene Stabilität gefährden, sondern sich aufgrund von Datenintegritätsproblemen auch negativ auf den Ruf eines Unternehmens auswirken, etwa wenn ein Kunde sagt: „

A “ kann die Daten durchsuchen des Kunden „B“. 5 Es gibt keine browserübergreifenden Kompatibilitätstests. Heutige Webanwendungen sind meist umfangreiche Single-Page-Anwendungen, die die Programmiersprache JavaScript und Frameworks wie

Angular Js

verwenden. Damit die von Ihnen erstellte Website auf verschiedenen Geräten und Browsern reibungslos funktioniert, müssen Sie ein entsprechendes Design implementieren. Um sicherzustellen, dass Ihre App auf allen Geräten und Browsern funktioniert, muss sie auf Kompatibilität getestet werden. 6 Es gibt keine Externalisierung von Geschäftsregeln, die sich häufig ändern können. Zum Beispiel Steuergesetze, behördliche oder branchenbezogene Anforderungen, Taxonomien usw. Sie können eine Engine wie Drools verwenden, um Geschäftsregeln zu verarbeiten, die Sie beim Exportieren durch Speichern in einer Datenbank oder

Excel

unterstützt Geschäftsregeln. Sobald Unternehmen diese Geschäftsregeln beherrschen, können sie mit minimalen Änderungen und Tests schnell auf Steuergesetze oder damit verbundene Anforderungen reagieren. 7, Die folgenden Dokumente werden nicht bereitgestellt Schreiben Sie eine Unit-Test-Dokumentation und sorgen Sie für eine gute Codeabdeckung.

Integrationstests.

Eine umfassende oder enzyklopädische Seite, die alle Softwarekomponenten wie Klassen, Skripte, Konfigurationsdateien usw. auflistet, die entweder geändert oder neu erstellt wurden.

Das Konzeptdiagramm auf hoher Ebene zeigt alle Komponenten, Interaktionen und Strukturen.

Das Basisdokument erklärt Entwicklern, „wie sie die detaillierten Informationen der Datenquelle kombinieren, um eine Entwicklungsumgebung aufzubauen.“

Zusätzlich zu COS (erfüllte Bedingungen), einem von MindMap erstellten Formular, gibt es in der agilen Entwicklung zwei Hauptdokumentformen: 1 und 2 .

8, ohne einen ordnungsgemäßen Notfallwiederherstellungsplan und eine Systemüberwachungs- und Archivierungsstrategie. Wenn die Projektfristen näher rücken, werden diese Dinge in der Eile, das Projekt umzusetzen, oft übersehen. Das Versäumnis, geeignete Systemüberwachungsmechanismen durch Nagios und Splunk einzurichten, gefährdet nicht nur die Stabilität der Anwendung, sondern behindert auch den Strom Diagnose und zukünftige Verbesserungsbemühungen.

9, es gibt kein praktisches Spaltendesign für Datenbanktabellen, wie z. B. created_datetm, update_datetm, created_by, updated_by und Zeitstempel, bietet auch keine organisierten Löschdatensatzspalten, z Beispielsweise kann es „Y“ oder „N“ sein, beispielsweise „gelöscht' Die Spalte kann entweder 'Aktiv' oder 'Inaktiv' oder '' sein Spalte record_status'.

10 Es gibt keinen geeigneten Retracement-Plan. Wenn das System ausfällt, gibt es daher keine Möglichkeit, den stabilen Zustand des Systems vor der Bereitstellung wiederherzustellen. Dieser Plan muss sorgfältig geprüft und vom zuständigen Team unterzeichnet werden. Zu den Plänen gehört ein Rollback auf eine frühere Version der Software sowie das Entfernen aller in die Datenbank eingefügten Daten und aller Einträge in der Eigenschaftendatei.

11 Vor Projektbeginn wurde kein Kapazitätsplan entwickelt. Heutzutage heißt es bei der Beschreibung der Anforderungen an die Plattform nur noch: „erfordert einen Unix Computer, einen Oracle Datenbankserver, einen JBoss Application Server“ reicht einfach nicht aus. Ihre Anfrage muss sich auf

spezifische Version des Betriebssystems, JVM usw. beziehen.

Wie viel Speicher (einschließlich physischer Speicher, JVM Heapspeicher, JVM Stapel). Speicher und JVM permanenter Generierungsraum).

CPU (Anzahl der Kerne).

Load Balancer, erforderliche Anzahl von Knoten und Knotentyp, z. B. aktiv/aktiv Typ oder aktiv / passiver Typ und Clustering-Anforderungen.

Anforderungen an das Dateisystem. Beispielsweise kann Ihre Anwendung generierte Berichte sammeln und ein Jahr lang speichern, bevor sie archiviert wird. In diesem Fall müssen Sie über ausreichend Festplattenspeicher verfügen. Einige Anwendungen erfordern die Generierung von Datenextraktionsdateien und deren temporäre Speicherung zur Verwendung durch andere Systemprozesse oder Data-Warehouse-Systeme für mehrdimensionale Analyseberichte. Es gibt auch Datendateien, die auf dem Secure File Transfer Protocol basieren, die von internen Systemen oder externen Systemen stammen und vor der Archivierung 12 bis gespeichert werden müssen 36 Monate.

12, „Nicht das beste Werkzeug für den Job verwenden.“ In vielen Fällen verwenden Entwickler eine Sprache oder ein Tool, das sie in einem Produktionssystem erlernen möchten. Normalerweise ist dies nicht die beste Option. Verwenden Sie beispielsweise eine NoSQL -Datenbank für Daten, die bereits effektiv relational sind. Denken Sie daran, dass es in der Zukunft 3 bis 5 Jahre (oder sogar länger) dauern wird, egal welches Tool Sie verwenden Pflegen Sie Ihr Produkt intern.

13 und 16 fehlen ausreichende Wissensreserven in wichtigen technischen Bereichen. Zu diesen Bereichen gehören die Identifizierung und Behebung von 1) „Parallelitätsproblemen“, 2) Transaktionsproblemen, 3) Leistungsprobleme. In vielen Vorstellungsgesprächen habe ich mich auf dieses 3 Wissen verlassen, um einen neuen Vertrag zu bekommen.

Kostenlos erhaltenLAMPEBand of BrothersOriginalPHPVideoTutorial-CD/Details PHP》Essential-Version, bitte wenden Sie sich für weitere Informationen an den offiziellen Website-Kundendienst: http://www.lampbrother.net

PHPCMSSekundärentwicklunghttp://yun.itxdl.cn/online/phpcms/index.php?u=5

WeChat-Entwicklunghttp://yun.itxdl.cn/online/weixin/index.php?u=5

Serverseitige Entwicklung des mobilen Internetshttp://yun.itxdl.cn/online/server/index.php? u=5

JavascriptKurshttp://yun.itxdl.cn /online/js/index. php?u=5

CTOTrainingslagerhttp://yun.itxdl.cn/online/cto/index.php?u=5

Das Obige stellt 13 Fehler vor, vor denen Java-Veteranen vorsichtig sein sollten, einschließlich des Inhalts. Ich hoffe, dass er Freunden, die sich für PHP-Tutorials interessieren, hilfreich sein wird.

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