Chúng có nhiều khả năng còn sót lại từ một trong nhiều di chuyển của codebase từ nền tảng đến nền tảng trong lịch sử nhiều năm của nó. Và, nói chung, nếu bạn có một công cụ tự động và chính xác di chuyển mã từ biểu mẫu A sang biểu mẫu B, bạn thường không muốn tự muck với nó sau khi thực tế vì có quá nhiều rủi ro khi đưa ra lỗi.
Nếu bạn đi ngược thời gian để chuyển đổi từ NeXTSTEP sang OpenStep, có một công nghệ chuyển đổi được gọi là TOPS được sử dụng để tự động chuyển đổi từ API sang API. Một biến thể thứ hai được tạo ra để di chuyển từ Objective-C sang Java trong các ngày WebObjects.
Đó là, một cách hiệu quả, một loại động cơ tái cấu trúc tự động tập trung vào API và ngôn ngữ phát tín hiệu.
TOPS khá mạnh và có thể dễ dàng mở rộng. Nó đã được sử dụng khá hiệu quả để thực hiện các loại di chuyển - phiên bản, API, phong cách, v.v. - cả trong cộng đồng bên thứ 3 và bên trong của Apple/NeXT.
(Cá nhân, lần cuối tôi sử dụng TOPS là ~ 2002năm để di chuyển 750.000 dòng NeXTSTEP 3.3 Ứng dụng mục tiêu-C++ sang Mac OS X 10.2. Yêu cầu di chuyển từ 3.3 -> 4.2, 4.2 -> PR1, PR1 -> 10.2 Đã là một thách thức, nhưng rất nhiều niềm vui. Có một chút nền tảng ở đây: http://www.cocoabuilder.com/archive/cocoa/221418-porting-from-windows-to-mac.html.)
Dường như với tôi như là một "không thực thi mã này" hack. –
Đó là những gì tôi nghĩ lúc đầu vì sự thụt đầu dòng nhưng nó thực sự là 'if (0) {} nếu if (validStuff) {}. – user988375
có thể là một phần còn lại từ việc gỡ lỗi mã. nhưng tôi chỉ có thể đoán ... – katzenhut