Одна вещь, которая меня действительно сбивает с толку, заключается в том, что автозавершение кода в Pharo предлагает мне методы, которые не понимаются объектом моего класса.

Например, предположим, что я создаю класс Dog с тремя методами: eat, sleep и bark. Автозавершение кода в Pharo предложит мне найти собственные значения и собственные векторы этой собаки. Потому что PMMatrix знает, что такое собственные значения. Итак, этот метод существует в системе, и он будет предложен, даже если он не имеет ничего общего с моим Dog.

Я думаю, что это очень важно изменить, потому что каждый раз, когда мы используем какой-либо класс, нам нужно знать его общедоступный интерфейс. А открытие обозревателя системы каждый раз, когда вам нужно, отнимает много времени и отвлекает.

Кстати, было бы очень хорошо, если бы автозавершение кода не предлагало методы, помеченные как private.

Таким образом, в этом случае автозавершение кода должно предлагать eat, sleep и bark, но не digestFood, потому что это частный метод. initialize также не следует предлагать, потому что он неявно вызывается new. Но я не знаю, как это реализовать.