exercism / exercism/vimscript

Build representer

Đang mở
#128 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
x:action/create x:knowledge/advanced x:module/representer x:size/massive x:type/coding
Ngôn ngữ chính
Vim Script
Star
22
Fork
27
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

In Exercism v3, we're introducing a new (optional) tool: the [representer](https://github.com/exercism/docs/blob/main/building/tooling/representers/README.md). The goal of the representer is to take a solution and returning a representation, which is an extraction of a solution to its essence with normalized names, comments, spacing, etc. but still uniquely identifying the approach taken. Two different ways of solving the same exercise must not have the same representation.

Each representer is track-specific. When a new solution is submitted, we run the track's representer, which outputs two JSON files that describe the representation.

Once we have a normalized representation for a solution, a team of vetted mentors will look at the solution and comment on it (if needed). These comments will then automatically be submitted to each new solution with the same representation. A notification will be sent for old solutions with a matching representation.

The representer is an optional tool though, which means that if a track does not have a representer, it will still function normally.

## Goal

Build a representer for your track according to [the spec](https://github.com/exercism/docs/blob/main/building/tooling/representers/interface.md). Check [this page](https://github.com/exercism/docs/blob/main/building/tooling/representers/creating-from-scratch.md) to help you get started with building a representer.

Note that the simplest representer is one that merely returns the solution's source code.

It can be very useful to check how [other tracks have implemented their representer](https://github.com/search?q=org%3Aexercism+representer&type=repositories).

_If your track already has a working representer, please close this issue and ensure that the `.status.representer` key in the track `config.json` file is set to `true`._

## Choosing between representer and analyzer

There is some overlap between the goals of the representer and the analyzer. If you want to build both, we recommend starting by building the representer for the following reasons:

- Representers are usually (far) easier to implement
- Representers can have a far bigger impact on the mentoring load than analyzers by empowering mentors
- Representers apply to _all_ exercises, whereas analyzers usually target specific exercises or a subset

## Tracking

https://github.com/exercism/v3-launch/issues/52

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Hướng nghiên cứu

Đọc tài liệu về interface của representer và tài liệu tạo từ đầu được liên kết trong issue, sau đó kiểm tra các triển khai của những track khác. Xây dựng một representer cho track Vim Script tuân theo đặc tả và tạo ra hai tệp biểu diễn JSON; nếu hoạt động, đặt `.status.representer` thành `true` trong `config.json` của track.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
vim
Lĩnh vực
tooling
Loại issue
Tính năng
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.