getMetrics appears to be miscounting blank lines in docstrings
- 主要言語
- CodeQL
- スター
- 10.1k
- フォーク
- 2.1k
- 平均マージ
- 2日 15時間
- マージ済み PR(30日)
- 141
説明
The definition of the python function `combine_docs` starts on line 227 in [combine_documents/map_reduce.py](https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain_classic/chains/combine_documents/map_reduce.py) and ends on line 259.
[func-def.txt](https://github.com/user-attachments/files/23375865/func-def.txt)
Running the above QL script on the latest langchain database produces the values:
func.getMetrics().getNumberOfLines() = 33
func.getMetrics().getNumberOfLinesOfCode() = 27 # Should be 26
func.getMetrics().getNumberOfLinesOfComments() = 2
func.getMetrics().getNumberOfLinesOfDocStrings() = 5
I suspect that the number of blank line in the docstring might be a factor.
The above function contains one blank line in a docstring, while the example below contains two blank lines in a docstring.
The function `collapse_docs` starts on line 67 in [combine_documents/reduce.py](https://github.com/langchain-ai/langchain/blob/master/libs/langchain/langchain_classic/chains/combine_documents/reduce.py) and ends on line 96.
The above QL script produces the values:
func.getMetrics().getNumberOfLines() = 30
func.getMetrics().getNumberOfLinesOfCode() = 12 # Should be 14
func.getMetrics().getNumberOfLinesOfComments() = 0
func.getMetrics().getNumberOfLinesOfDocStrings() = 16
コントリビューションガイド
調査の方向性
リンクされた QL スクリプトと添付ファイルを使用して、libs/langchain/langchain_classic/chains/combine_documents/map_reduce.py の combine_docs と combine_documents/reduce.py の collapse_docs について報告されたメトリクスを再現します。合計、コード、コメント、docstring のカウントを、提示された期待値と比較します。特に docstring 内の空行について確認します。両方の例でメトリクスが期待されるカウントを一貫して報告すれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- devtools
- issue の種類
- バグ
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100