Android Know-How: Was bedeutet der Code-Freeze für den Entwicklungsprozess  

  RSS

SmartphoneGuru
(@smartphoneguru)
HTC Hero
Beigetreten: vor 1 Jahr 
Beiträge: 564
07.03.2019 10:07  

Der Code-Freeze bezeichnet innerhalb eines Software-Projekts den Zeitpunkt, ab dem sich der Quellcode der Software bis zur endgültigen Veröffentlichung der aktuellen Version nicht mehr ändern soll. Erlaubt sind allerdings noch Änderungen zur Behebung von im Test der Software entdeckten Fehlern von größerer Relevanz. In der Praxis der Software-Entwicklung wird der Code-Freeze in der Regel am Beginn der Systemtestphase festgelegt, d. h. mehrere Wochen, u. U. auch Monate vor der geplanten Veröffentlichung einer Software-Version, damit noch ausreichend Zeit für den Test der endgültigen Version der Software ist. Das Ziel ist, die Zahl der Fehler in der veröffentlichten Software zu minimieren.


In einem Software-Projekt werden während der Implementierungsphase, das heißt während der Erstellung des Quellcodes, regelmäßig Änderungen am bestehenden Code vorgenommen, zum Hinzufügen neuer Features und zum Beheben von aufgetretenen Fehlern. Nach dem Code-Freeze-Zeitpunkt dürfen Änderungen zum Hinzufügen neuer Features nicht mehr vorgenommen werden; die Software wurde praktisch auf ihrem aktuellen Stand eingefroren. Änderungen zur Behebung von im Test entdeckten Fehlern dürfen im Allgemeinen noch vorgenommen werden, solange der Nutzen, der durch das Beheben des Fehlers entsteht, in einem vernünftigen Verhältnis steht zum Risiko, das durch die erneute Änderung des Quellcodes und der damit verbundenen Möglichkeit des Einfügens neuer Fehler in die Software unvermeidbar entsteht. In der Regel werden hier spezielle Anforderungen an jede Änderung gestellt. So ist es üblich, dass ein Software-Entwickler die Entscheidung zur Änderung des Codes nach dem Code-Freeze nicht selbst treffen kann. Die Entscheidung wird stattdessen meistens durch ein mehrköpfiges Gremium gefällt.

Da sich der Quellcode in Software-Projekten in der Regel in einem System zur Versionsverwaltung befindet, ist ab dem Code-Freeze ein Einbringen einer neuen Version von Quellcode-Dateien durch „einchecken“ (check in) oder „mergen“ (bei der Verwendung von Branches) für den einzelnen Entwickler nicht oder nur noch nach Erfüllen bestimmter Bedingungen möglich.


Im Beispiel von HTC, oder aber generell für jedes Update, bei jedem OEM, gilt also folgendes: für jedes Update wird ein Code-Freeze festgelegt, d.h. entschieden auf welcher, von Google an den/die OEM ausgelieferten, Basis man am Besten für eines, oder auch mehrere Geräte im Hause entwickeln kann. Immer auch in Abhängigkeit der klassischen Stellschrauben in einem Projekt, d.h. der Ressourcen (=verfügbare Entwickler), Quantität (=Umfang der Anpassungen), und Zeit (=gewünschte Frist bis zu Veröffentlichung des nächsten OTA-Update). Es ist also eine klassische Aufwand zu Nutzen Abschätzung, um zu ermitteln wie man das beste Ergebnis, ausgehend von der aktuell auf dem/den betroffenen Gerät(en) laufenden Basis erreicht, um damit die größten Benefits für die Nutzer, aber auch eine optimale Basis für die folgenden Entwicklungsschritte zu erreichen - immer unter Berücksichtigung der Sicherheit des verwendeten Hersteller-Frameworks (hier: das HTC Framework).

Am Beispiel HTC U12+ Update auf Version 1.-53.401.5 vom 06. März 2019: Wenn es also nach dem 01. Dezember 2018 schlicht keine relevanten Patches für das HTC U12+ gab, da das HTC Framework nicht von den Sicherheitslücken des Google Frameworks, die nach dem 01. Dezember 2018 gepatched wurden betroffen ist, nimmt man eben die Google-Base mit den Patches vom 01. Dezember 2018, um vorhandene Dinge zu verbessern, und eventuell bestehende Bugs zu fixen. Der Code-Freeze wurde also auf den 05. Dezember 2018 festgelegt, so dass keine der nachfolgenden Quellcode-Dateien mehr gemerged wurden.

Das Thema wurde am vor 7 Monaten  von SmartphoneGuru bearbeitet

PHONE: HTC U12+ (imedugl) - Android 8.0.0 - HTC Sense 10 - 1.53.401.5
WATCH: Fossil Sport - Android 8.1.0 - Wear OS 2.6
TABLET: Huawei MediaPad M5 10.8 Pro - Android 9 - EMUI 9.0 - CMR-AL19 9.0.1.182(C432E3R1P3)
------------------------------------------------------------------------------------------------
† Legend, Desire, Sensation, One X, One (m7), One M8, One M9, 10, U11, U Play | HTC Flyer, Huawei MediaPad M2 10.1 Premium | Motorola Moto 360 (2nd Gen.) †


Alex und Basti zugestimmt
AntwortenZitat
Tamriko
(@tamriko)
HTC Hero
Beigetreten: vor 1 Jahr 
Beiträge: 892
07.03.2019 10:10  

Danke... Jetzt hat man das auch mal in Schriftform und kann Leute darauf verweisen.

Hier der plausible Tweet on Fab zum Thema, warum in nem November Patch, Oktober als Datum steht.

Dieser Post wurde am vor 7 Monaten  von Tamriko bearbeitet

Fabian Nappenbach: "Was du bist auch ehemaliger Linkshänder. Das erklärt so einiges." 😂


SmartphoneGuru zugestimmt
AntwortenZitat
Share:
  
Arbeitet

Bitte Anmelden oder Registrieren