Pull to refresh

Comments 9

А как же тесты и доказательство инвариантов? Почему я должен поверить на слово, что измененный код выглядит и работает как старый? Я понимаю, что тут все четкие пацаны и им принято верить, но тем не менее ))))

А где есть юнит-тесты для make?

Не все замены тривиальны, и точно не могут быть сделаны через поиск и замену.
В "звёздочка — часть типа" особенно можно накосячить

D гарантирует, что если вы скопируете в него сишный код, то он либо будет работать точно так же, как и в C, либо не скомпилируется вообще. Так что если вы оставите char *name,*text;, ничего плохого не случится: компилятор просто укажет вам на ошибку.

int* *px, x; => int* px, x; => crash

впрочем, вероятно всё равно где-то типы не пройдут. но это не точно :))
в любом случае, это уже не массовая найти&заменить.

есть c2d тулзы?
Но честно говоря, они сделали большую бяку, когда задепрекейтили c-style arrays (

Я когда свой небольшой проект портировал, то просто прошёлся по объявлениям массивов регвыром.


Вот с чем пришлось повозиться, так это с .ptr при передаче массивов в функции. Но тут можно срезать углы, добавив на каждую такую функцию одноимённый шаблон, который передаёт статический массив в эту функцию.

Sign up to leave a comment.

Articles