추천, 2024

편집자의 선택

Facebook에서 더 많은 소프트웨어를 만드는 소프트웨어 출시

씨네마운틴⛰ │ 은이에게 전염된 항준 쥬크박스

씨네마운틴⛰ │ 은이에게 전염된 항준 쥬크박스
Anonim

Facebook은 오픈 소스로 코드를 생성하는 데 사용하는 라이브러리를 공개하여 외부 프로그래머가 대형 프로그램을 만들 때 수행하는 일상적인 작업을 자동화 할 수있는 방법을 제공합니다.

CodeGen에 관한 페이스 북의 소프트웨어 엔지니어 인 알레한드로 마르쿠 (Alejandro Marcu)는 전자 메일을 통해 "페이스 북을 벗어난 개발자들은이 도구를 사용하여 코드의 추상화 수준을 높이고보다 강력한 프레임 워크를 만들 수있다"고 말했다. 많은 저수준 구현 작업을 간소화하여 새로운 애플리케이션을 개발하는 데 많은 시간을 절약 할 수 있기 때문에 소프트웨어 개발에 엄청난 가치가 있습니다. 예를 들어, Ruby-On-Rails 프레임 워크는 웹 애플리케이션을 신속하게 설정하는 데 매우 널리 사용되었습니다.

프레임 워크는 선언적입니다. 즉, 개발자는 "원하는 방식으로 원하는 것을 작성하는 것이 가능합니다" Codegen은 웹 사이트의 개발을 촉진하기 위해 만든 PHP와 같은 프로그래밍 언어 인 Hack과 협력하여 다른 사람들이 사용할 수있는 오픈 소스로 공개했습니다.

Codegen을 사용하기 전에는 Facebook 기술자들이 사용자의 생일을 가져 오는 것과 같이 간단하면서도 자주 실행되는 작업을 수행하는 코드를 생성하는 스크립트 및 템플릿의 패치 워크.이 자갈 작업 방식에는 Marcu가 기술을 설명하는 블로그 게시물에서 설명했듯이 일부 제한이있었습니다. 페이스 북 엔지니어는 결과 코드의 어느 부분이 다른 부분에 의존했는지 알 수 없었습니다. 따라서 변경하면 의도하지 않은 결과가 발생할 수 있습니다. 또한이 오래된 접근 방식은 개발자가 변수에 데이터 유형을 설정할 수 없으므로 데이터 무결성을 보장하는 데 유용 할 수 있습니다. 데이터 유형을 설정하면 코드 편집 소프트웨어가 코드 스 니펫을 자동 완성하여 다른 시간을 절약 할 수있는 방법을 제공합니다.

또한 템플릿을 사용하더라도 테스트 코드 나 데이터 로더와 같이 많은 추가 구성 요소를 수동으로 작성해야했습니다.

Codegen 라이브러리는 개발자가 여러 번 사용할 수있는 코드 템플릿을 보유 할 수있는 스키마를 만들고 코드를 지원하는 데 필요한 모든 관련 기능을 생성하는 방법을 제공함으로써 작업을 간소화합니다. 데이터 로더 및 데이터베이스에 대한 연결을 포함한다. 라이브러리를 사용하여 사용자는 특정 구현에 대한 필요한 세부 사항을 제공하고 소프트웨어는 나머지를 수행한다. 클래스, 메소드, 변수, 함수, 인터페이스, 파일 및 기타 일반적으로 필요한 코드 블록을 생성 할 수 있습니다.

이 소프트웨어는 자동으로 생성 된 코드가 나중에 다른 개발자에 의해 언제 변경되는지를 식별 할 수있는 방법을 제공합니다. 수작업으로 작성된 코드를 덮어 쓰지 않도록 업데이트 프로세스에 경고합니다. 또한 생성 된 코드 내에 덮어 쓰기되지 않는 추가 기능을 배치하기위한 장소를 제공합니다.

Facebook 외부에서 Codegen 라이브러리는 코드 기반의 여러 부분에 걸쳐 일상적으로 변경해야하는 개발자에게 유용합니다

"코드 겐 (Codegen)은 하나의 변화로 자동으로 그렇게 할 수있게 해줄 것입니다."라고 Marcu는 적었습니다.

인기있는 카테고리

Top